{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 1.  A guide for how to use the lstmstock.py\n",
    "\n",
    "This is a presentation of the simplest way to implement Long Short Term Memory for prediction of stock price. More codes are in the lstmstock.py file. It also fixed the problem of using pandas datareader to download stock data, which is currently unavailable."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. Import all the module and function\n",
    "You can import all module one by one or import my lstmstock.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "# from lstmstock import *\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.pyplot as plt2\n",
    "import pandas as pd\n",
    "from pandas import datetime\n",
    "import math, time\n",
    "import itertools\n",
    "from sklearn import preprocessing\n",
    "import datetime\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from math import sqrt\n",
    "from keras.models import Sequential\n",
    "from keras.layers.core import Dense, Dropout, Activation\n",
    "from keras.layers.recurrent import LSTM\n",
    "from keras.models import load_model\n",
    "import keras\n",
    "import pandas_datareader.data as web\n",
    "import h5py\n",
    "from keras import backend as K\n",
    "import quandl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# 2. Input of the model\n",
    "\n",
    "1. Quandl api key Obtained from https://www.quandl.com/product/WIKIP/WIKI/PRICES-Quandl-End-Of-Day-Stocks-Info Please login to use your key if you have one.\n",
    "\n",
    "2. Seq_len\n",
    "It is the window frame of the past data, how many days of past data would you like to be included in this model?\n",
    "\n",
    "3. Shape\n",
    "Please input the [seq_len, Amount of features, 1] to it to setup the model\n",
    "The amount of features will depend on how many moving average would you like to be included in this model.\n",
    "\n",
    "4. Dropout\n",
    "Fraction of the input units to drop. It helps to avoid overfitting.\n",
    "\n",
    "5. Decay\n",
    "Weight regularization. Another parameter to avoid overfitting.\n",
    "\n",
    "6. Epochs\n",
    "How many Epochs would you want to fit the model?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "quandl.ApiConfig.api_key = 'zpFWg7jpwtBPmzA8sT2Z'\n",
    "seq_len = 22\n",
    "shape = [seq_len, 9, 1]\n",
    "neurons = [256, 256, 32, 1]\n",
    "dropout = 0.3\n",
    "decay = 0.5\n",
    "epochs = 90\n",
    "stock_name = 'AAPL'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3. Pull the data from Quandl first\n",
    "\n",
    "If you would like to include moving average, simply put the number of days into a list. \n",
    "They will be included into the neural network model.\n",
    "\n",
    "ie. putting 50days, 100days, 200days into [50, 100, 200]\n",
    "\n",
    "In the Quandl database, Open, High, Low, Close, Volume are all adjusted. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_stock_data(stock_name, normalize=True, ma=[]):\n",
    "    \"\"\"\n",
    "    Return a dataframe of that stock and normalize all the values. \n",
    "    (Optional: create moving average)\n",
    "    \"\"\"\n",
    "    df = quandl.get_table('WIKI/PRICES', ticker = stock_name)\n",
    "    df.drop(['ticker', 'open', 'high', 'low', 'close', 'ex-dividend', 'volume', 'split_ratio'], 1, inplace=True)\n",
    "    df.set_index('date', inplace=True)\n",
    "    \n",
    "    # Renaming all the columns so that we can use the old version code\n",
    "    df.rename(columns={'adj_open': 'Open', 'adj_high': 'High', 'adj_low': 'Low', 'adj_volume': 'Volume', 'adj_close': 'Adj Close'}, inplace=True)\n",
    "    \n",
    "    # Percentage change\n",
    "    df['Pct'] = df['Adj Close'].pct_change()\n",
    "    df.dropna(inplace=True)\n",
    "    \n",
    "    # Moving Average    \n",
    "    if ma != []:\n",
    "        for moving in ma:\n",
    "            df['{}ma'.format(moving)] = df['Adj Close'].rolling(window=moving).mean()\n",
    "    df.dropna(inplace=True)\n",
    "    \n",
    "    if normalize:\n",
    "        min_max_scaler = preprocessing.MinMaxScaler()\n",
    "        df['Open'] = min_max_scaler.fit_transform(df.Open.values.reshape(-1,1))\n",
    "        df['High'] = min_max_scaler.fit_transform(df.High.values.reshape(-1,1))\n",
    "        df['Low'] = min_max_scaler.fit_transform(df.Low.values.reshape(-1,1))\n",
    "        df['Volume'] = min_max_scaler.fit_transform(df.Volume.values.reshape(-1,1))\n",
    "        df['Adj Close'] = min_max_scaler.fit_transform(df['Adj Close'].values.reshape(-1,1))\n",
    "        df['Pct'] = min_max_scaler.fit_transform(df['Pct'].values.reshape(-1,1))\n",
    "        if ma != []:\n",
    "            for moving in ma:\n",
    "                df['{}ma'.format(moving)] = min_max_scaler.fit_transform(df['{}ma'.format(moving)].values.reshape(-1,1))  \n",
    "                \n",
    "    # Move Adj Close to the rightmost for the ease of training\n",
    "    adj_close = df['Adj Close']\n",
    "    df.drop(labels=['Adj Close'], axis=1, inplace=True)\n",
    "    df = pd.concat([df, adj_close], axis=1)\n",
    "      \n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df = get_stock_data(stock_name, ma=[50, 100, 200])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. Visualize the data\n",
    "Print out the first 5 rows of the dataframe and plot out the Adjusted Close price and percentage change of that particular stock "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_stock(df):\n",
    "    print(df.head())\n",
    "    plt.subplot(211)\n",
    "    plt.plot(df['Adj Close'], color='red', label='Adj Close')\n",
    "    plt.legend(loc='best')\n",
    "    plt.subplot(212)\n",
    "    plt.plot(df['Pct'], color='blue', label='Percentage change')\n",
    "    plt.legend(loc='best')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                Open      High       Low    Volume       Pct      50ma  \\\n",
      "date                                                                     \n",
      "1981-09-30  0.000391  0.000401  0.000405  0.006603  0.618942  0.000795   \n",
      "1981-10-01  0.000391  0.000401  0.000405  0.008103  0.609620  0.000777   \n",
      "1981-10-02  0.000510  0.000520  0.000524  0.005935  0.705957  0.000765   \n",
      "1981-10-05  0.000557  0.000578  0.000572  0.005673  0.645236  0.000752   \n",
      "1981-10-06  0.000557  0.000555  0.000560  0.003687  0.601324  0.000738   \n",
      "\n",
      "               100ma     200ma  Adj Close  \n",
      "date                                       \n",
      "1981-09-30  0.001145  0.001192   0.000402  \n",
      "1981-10-01  0.001131  0.001185   0.000402  \n",
      "1981-10-02  0.001119  0.001180   0.000521  \n",
      "1981-10-05  0.001108  0.001175   0.000568  \n",
      "1981-10-06  0.001097  0.001169   0.000557  \n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23c46e9a0f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_stock(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 5. To see the correlation for each variables\n",
    "Not so ideal but more fundamental data will be included in the future"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeUAAAFJCAYAAACl7jX3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlU1fW+//Hn3sBGZNRUcoBSnFuX1DTtOPyOmWl666SG\nAorXY2naUY9QpmmYqSFO2MrxaGqJOZHWsTq0TCq5F3PIlpa2MI/lmEIeJAUZVPbvD2/7xHXeAvv7\n/fp6tPZa7e8evu8vsnnt9+fzHWxOp9OJiIiIeJzd0wWIiIjIFQplERERg1Aoi4iIGIRCWURExCAU\nyiIiIgahUBYRETEIb08XUBX8wmM8XYJUkk5LR3m6hOsqM/jBhtufX+DpEkzLZjN2P+N0lnm6hBsq\nOra20t7b3b/3lVnT7bgrQllERO4ORv/CdDPmrl5ERMRC1CmLiIhl2EzeayqURUTEMsw+fK1QFhER\ny1Aoi4iIGITNZvN0CXdEoSwiIhaiTllERMQQzD58be7qRURELESdsoiIWIbZO2WFsoiIWIaOUxYR\nETEIdcq34fjx48yaNYv8/HwuXrxI8+bNeemllwgICKjKMkRExKLMHspVVn1xcTEvvPACzz33HKmp\nqaxbt44HH3yQF198sapKEBERi7PZ7G7djKLKOuUvv/ySdu3a8eCDD7qW9enTh7Vr1zJ+/HgATp06\nxYULF5g5cyYRERGkpqby8ccfY7PZ6NWrF4MHD2bChAk4HA5OnjxJbm4uycnJPPDAA1W1GSIiIpWm\nyr4eHD9+nPDw8KuWN2jQgN27dxMWFsaqVasYPXo0s2fP5p///Cf/+Mc/WLNmDe+99x5bt27lxx9/\nBKBevXosX76cuLg41q9fX1WbICIiBmdz8z+jqLJQDg0N5cSJE1ctP3r0KG3btqVDhw4AtG7dmp9+\n+okffviBn3/+mSFDhjBkyBDy8/M5evQoAC1atADg3nvvpbS0tKo2QUREDM7sw9dVVkm3bt3Yvn07\n3377rWtZWloaNWrUwG63c+DAAQC++eYbmjRpQqNGjWjcuDGrVq0iNTWVvn370qxZM8D85zYVEZHK\nYfZQrrI5ZX9/f5YsWUJSUhL5+flcvnyZZs2akZKSQlJSEpmZmWRkZFBWVsaMGTMICwvjkUceISYm\nhtLSUiIjIwkNDa2qckVExISMFLDusDmdTqeni5gwYQK9evWiS5culfL+fuExlfK+4nmdlo7ydAnX\nVebxT9aNbX9+gadLMC2j/+F3Oss8XcINFR1bW2nvfW/LV9x63envZ1RwJe7RyUNERMQyjP6F6WYM\nEcrJycmeLkFERMTjDBHKIiIiFUGdsoiIiEHoghQiIiIGoU5ZRETEIMx+HguFsoiIWEZldcplZWVM\nmTKFgwcP4nA4mD59Ovfdd5/r8c2bN7Ny5Ursdjv9+vUjNjbWrfUolEVExDIqa05569atlJaWsn79\nevbu3UtycjKLFy92PT5r1iw+/vhjqlevTu/evenduzfBwcG3vR6FsoiIyE3s2bOHzp07A9CqVSv2\n799f7vFmzZpx/vx5vL29cTqdbg+jK5RFRMQyKmv4uqCggICAANd9Ly8vLl26hLf3lRht0qQJ/fr1\nw8/Pj+7duxMUFOTWesy9m5qIiMjvVNYFKQICAigsLHTdLysrcwVydnY2X375JRkZGXz++efk5eWR\nnp7uVv0KZRERsQwbdrduN9OmTRsyMzMB2Lt3L02bNnU9FhgYSLVq1fD19cXLy4uaNWty7tw5t+rX\n8LWIiFhHJQ1fd+/enaysLKKjo3E6nSQlJfHRRx9x4cIFBgwYwIABA4iNjcXHx4fw8HD69Onj1noU\nyiIiYhmVNadst9uZOnVquWURERGu/4+JiSEm5s6vSKhQFhERyzD7yUM0pywiImIQ6pRFRMQydEEK\nERERg9AFKURERIzC5HPKCmUREbEOczfKCmUREbEQdcoiIiIGYfJQNnmjLyIiYh3qlEVExDpM3moq\nlEVExDKcJh++ViiLiIh1mDuTPdfo79y5k/j4+HLL5syZwzvvvMOCBQuu+7pNmzYxZ86cyi5PRETM\nyG5z72YQhuuUg4KCGDJkiKfLEBERM9LwdcWLj49n3rx5pKWl8d577xEcHIyPjw+9evUCYN++fQwd\nOpS8vDxiYmIYMGCAhysWERFDMHcmezaUd+zYQVxcnOv+8ePHGTNmDAB5eXm8/fbbfPjhhzgcDgYP\nHux6nre3N8uXL+fkyZMMHz5coSwiIpbg0VDu0KED8+bNc93//VzxsWPHiIiIwM/PD4DWrVu7HmvZ\nsiU2m43atWtTXFxcdQWLiIixGWh+2B2GPaIrPDycH3/8keLiYsrKyvj2229dj5n9ItYiIlJJbDb3\nbgZhyDllgJo1azJs2DBiY2MJCQmhpKQEb29vLl265OnSRETEqIyTr27xWCi3b9+e9u3bl1v20ksv\nAdC3b18uXbpEbm4umzZtwul0MnDgQOrWrUu7du1cz/f19eXzzz+v0rpFRMTATD58bdhO2dvbm6Ki\nIvr06YOPjw+RkZG0bdvW02WJiIiRmTuTjRvKAAkJCSQkJHi6DBERMQmzn2bTsDt6iYiI3G0M3SmL\niIjcFs0pi4iIGIS5M1mhLCIiFmLyOWWFsoiIWIeGr0VERAzC3JmsUBYREQsx+fC1DokSERExCHXK\nIiJiHSbvlBXKIiJiHSYf/1Uoi6nZbU5Pl3BdZU5zf2MXMSV1yiIiIgZh7kxWKIuIiHU4dZyyiIiI\nQZh8+NrkU+IiIiLWoU5ZRESsw9yNskJZREQsRHPKIiIiBmHyOWWFsoiIWIe5M1mhLCIiFqLhaxER\nEYMweSjrkCgRERGDUKcsIiKWYfZTznu8U965cyfx8fGeLkNERKzAbnPvZhDqlEVExDpMfkiUxzvl\na8nKyiIqKopBgwYxatQozp07x1/+8he+++47AHr27MmWLVsAGDp0KDk5OZ4sV0REjEKdcsVyOp0k\nJiaydu1aQkNDeffdd1m8eDHdu3cnMzOTkJAQHA4H27dv55FHHqGkpITQ0FBPly0iIkZgyFbz1hmu\n/LNnzxIQEOAK2nbt2nHo0CG6du3K9u3b+e///m+GDRvGt99+S2ZmJl27dvVwxSIiYhg2m3s3gzBc\nKNeoUYOCggJyc3MB2LVrF/fffz/BwcFUq1aN9PR0OnfuTL169Vi1ahWPP/64hysWERGpGIYYvs7K\nyqJv376u+88//zyjR4/GZrMRHBzMjBkzAOjWrRubNm0iJCSETp06sWbNGsLDwz1VtoiIGE0lzQ+X\nlZUxZcoUDh48iMPhYPr06dx3331XPS8xMZHg4GBeeuklt9bj8VBu3749u3btumr5gAEDrloWGxtL\nbGwsANHR0URHR1d6fSIiYh7OShqK3rp1K6Wlpaxfv569e/eSnJzM4sWLyz1n3bp1/PDDD7Rr187t\n9Rhu+FpERMRtdjdvN7Fnzx46d+4MQKtWrdi/f3+5x7/55hv27dt3zYbydssXERGxhko6JKqgoICA\ngADXfS8vLy5dugRAbm4uCxcuZPLkyXdcvseHr0VERCpMJQ1fBwQEUFhY6LpfVlaGt/eVCP300085\ne/Ysw4cP55dffqG4uJhGjRqV21fqVimURUTEOippR682bdrwxRdf0KtXL/bu3UvTpk1djw0ePJjB\ngwcDsGnTJn788Ue3AhkUyiIiIjfVvXt3srKyiI6Oxul0kpSUxEcffcSFCxfueB759xTKIiJiHZV0\nHhC73c7UqVPLLYuIiLjqee52yL9RKIuIiGU4DXQea3colEVExDoUyiIiIgZhoPNYu0OhLCIi1mHy\ns28olEVExDpM3imb/DuFiIiIddwVnXKnpaM8XYJp2W1OT5dwQ5nDFnq6hOvqsMTYv3f6XIglaUcv\nERERg1Aoi4iIGENlXbqxqiiURUTEOky+p5RCWURErEOdsoiIiEGYfE7Z5I2+iIiIdahTFhER6zB5\np6xQFhER6zB3JiuURUTEOnTpRhEREaPQ3tciIiIGoU5ZRETEIMydyXd+SNSgQYP46quvyi2bPn06\naWlpVz33xIkT9O/f/05XKSIiYkl3HMpRUVH8/e9/d90vLS3liy++oHfv3nf61iIiIrfFbnfvZhR3\nPHzds2dP5s2bR1FREX5+fmRkZNCxY0eOHDnCtGnT8PLywtfXl2nTppV73aOPPkp6ejq+vr7MmTOH\nRo0aUb9+fZYuXYqPjw+nT58mOjqaHTt2kJ2dzeDBg4mNjWXXrl3MmzcPLy8vwsLCmDp1Kj4+Pne6\nGSIiYgEm38/rzjtlX19fHnvsMT777DMANm3aRHR0NK+++iqTJ09m9erVxMTEkJycfEvvd/r0aebP\nn8+UKVNYvHgxs2bNYtmyZaxfvx6n00liYiILFixg9erVhIaG8sEHH9zpJoiIiEXYbO7djKJCmvbf\nhrBzcnI4d+4cLVu2JDc3lxYtWgDQrl07Dh06dN3XO51O1/83adIEHx8fAgMDCQ8Px+FwEBwcTElJ\nCXl5eeTm5jJ27Fji4uLIysri5MmTFbEJIiJiATabza2bUVTI3tfNmjWjsLCQVatW0a9fPwDq1KlD\ndnY2zZs3Z/fu3dx///3lXuNwOMjNzaVBgwZkZ2cTEREBcMMfTo0aNbj33ntZtGgRgYGBZGRkUL16\n9YrYBBERsQAD5atbKuyQqH79+jF79my++OIL4Moe2NOmTcPpdOLl5UVSUlK55z/33HMMHz6c+vXr\nExQUdEvrsNvtTJo0ieHDh+N0OvH392fWrFkVtQkiImJyZg9lm/P3Y8cW1f3TLE+XYFp2m7F/PTKH\nLfR0CdfVYckoT5dwQ94G2uNU7i6f9exYae/d5G+Zbr3u0PNdKrgS9+jkISIiYhk2k3/ZVCiLiIhl\nmH34WqEsIiKWYfJTXyuURUTEOtQpi4iIGIRCWURExCCMdCIQd5h8PzURERHrUKcsIiKWoUOiRERE\nDMLko9cKZRERsQ6FsoiIiEEolEVERAxCJw8xgTJjX1PB0Mqcxv4NN/JFH3aMWODpEm7oD38z7s9O\n7szd/DfP7J2yyfdTExERsY67olMWEZG7g9k7ZYWyiIhYhs3kk8oKZRERsQx1yiIiIgahUBYRETEI\nhbKIiIhBmHxKWYdEiYiIGIU6ZRERsQwNX4uIiBiELt0oIiJiEOqURUREDMJm8lQ2XCjv3LmTsWPH\n0rhxYwBKSkp48skniYuLu+q5Bw8e5Ny5c7Rr166qyxQREQOqrEwuKytjypQpHDx4EIfDwfTp07nv\nvvtcj3/++ecsXLgQb29v+vXrR//+/d1aj+FCGaBDhw7MmzcPgNLSUnr27Mmf/vQngoKCyj1vy5Yt\n1KpVS6EsIiJA5YXy1q1bKS0tZf369ezdu5fk5GQWL14MwMWLF5kxYwbvv/8+fn5+xMTE8Oijj1Kr\nVq3bXo8hQ/n3CgoKsNvtZGdnM3fuXMrKyggNDSUxMZEPPvgAHx8fHnjgASIjIz1dqoiIWNSePXvo\n3LkzAK1atWL//v2uxw4fPkx4eDjBwcEAPPTQQ+zevZsnnnjittdjyFDesWMHcXFx2Gw2fHx8SExM\n5I033iAlJYWIiAjS0tI4c+YMffr0oVatWgpkEREBKq9TLigoICAgwHXfy8uLS5cu4e3tTUFBAYGB\nga7H/P39KSgocGs9hgzl3w9f/2bixIlEREQAEBUVBVwZwxcREflNZZ3RKyAggMLCQtf9srIyvL29\nr/lYYWFhuZC+HaY5oqtOnTocOXIEgKVLl/LZZ59hs9koKyvzbGEiImIYdpt7t5tp06YNmZmZAOzd\nu5emTZu6HouIiODo0aPk5+dTWlrK119/TevWrd2q35Cd8rW8/vrrTJw4EbvdTu3atRkyZAg+Pj7M\nmjWLiIgIOnTo4OkSRUTEw+w2Z6W8b/fu3cnKyiI6Ohqn00lSUhIfffQRFy5cYMCAAUyYMIFnn30W\np9NJv379CA0NdWs9NqfTWTlbYCDd0rM8XYJUkjID//buGLHA0yXc0B/+NsrTJUglMfLnAuCLXh0r\n7b2f2PI/br0u/fFOFVyJe0zTKYuIiNyMaeZkr8Ps9YuIiFiGOmUREbGMyppTrioKZRERsYzKOiSq\nqiiURUTEMsw+J6tQFhERy1CnLCIiYhA2zSmLiIgYg9k7ZbMPv4uIiFiGOmUREbEMs3eaCmUREbEM\nHacsIiJiEGafU74rQnn788a+MIC4r9NS415UwegXfNDnQjzmWOVdkELD1yIiIgahTllERMQgzD6n\nbPZOX0RExDLUKYuIiGVo+FpERMQgzD78q1AWERHLMPucskJZREQsQ8PXIiIiBmH2UDb78LuIiIhl\nqFMWERHLMHunqVAWERHL0I5eIiIiBmH2OeUqC+U+ffoQEBAAQIMGDRgxYgQTJkzAZrPRpEkTXnvt\nNex2sw88iIiIJ5k9RaoklEtKSnA6naSmprqWjRgxgrFjx9K+fXsmT55MRkYG3bt3r4pyRETEotQp\n34Ls7GyKiooYOnQoly5dIiEhgQMHDvDwww8D0KVLF7KysmjRogXx8fHUrVuXEydO0Lt3bw4dOsT3\n33/PH//4RxISEti1axcLFizA6XRSWFjI3LlzadiwYVVshoiIGJxNc8o3V61aNZ599lmioqI4cuQI\nw4YNw+l0YrNd+Urj7+/P+fPnATh+/DgrVqyguLiYbt26kZmZiZ+fH127diUhIYFDhw4xe/ZsQkND\nWbJkCZ9++ikjR46sis0QERGpVFUSyg0bNuS+++7DZrPRsGFDQkJCOHDggOvxwsJCgoKCAAgLCyMw\nMBCHw0GtWrUICQkBcAV4aGgob7zxBtWrVycnJ4c2bdpUxSaIiIgJmH34ukrmxN9//32Sk5MByMnJ\noaCggI4dO7Jz504AMjMzadu2LfDv8L2exMREkpKSSE5Opk6dOjid5h6qEBGRimN382YUVdIpP/PM\nM7zyyivExMRgs9lISkqiRo0aJCYmkpKSQqNGjejRowenTp266Xs99dRTDBw4ED8/P2rVqkVubm4V\nbIGIiJiB2Y9TtjnvglbTLzzG0yVIJem0dJSnS7iuMoN/srY/v8DTJchdqujY2kp779e+2erW615v\n81gFV+IenTxEREQsw+xzygplERGxDC9PF3CHjDS/LSIicldTpywiIpZh9h29FMoiImIZmlMWEREx\nCIWyiIiIQXgplEVERIxBnbKIiIhBmH1HLx0SJSIiYhDqlEVExDI0fC0iImIQZj+jl0JZREQsQ52y\niIiIQZh9Ry+FsoiIWIaOUxYRETEIsw9f65AoERERg1CnLCIilmH2TlmhLCIilmH2UNbwtYiIWIaX\nzenWzR3FxcWMHj2a2NhYhg0bRl5e3jWfV1ZWxnPPPcfatWtv+p4KZRERsQy7mzd3rF27lqZNm7Jm\nzRqefvppFi1adM3nvfnmm5w7d+6W6xcREbEEu829mzv27NlD586dAejSpQtfffXVVc/59NNPsdls\nrufdjOaURUTEMiprTjktLY1333233LJ77rmHwMBAAPz9/Tl//ny5x3/44Qc+/vhj3nrrLRYuXHhL\n61Eoi4iI3ERUVBRRUVHllo0aNYrCwkIACgsLCQoKKvf4hx9+SE5ODv/1X//FyZMn8fHxoX79+nTp\n0uW661Eoi4iIZbi705Y72rRpw7Zt24iMjCQzM5OHHnqo3OMvv/yy6//nz59PrVq1bhjIoDllERGx\nkKqcU46JieHQoUPExMSwfv16Ro0aBcDKlSvJyMhw6z0rpVPet28fc+bMITU1laNHjzJhwgRsNhtN\nmjThtddew263s2HDBtatW4e3tzcjR46ka9eulVGKiIjcRaryOGU/Pz/eeuutq5b/+c9/vmrZ6NGj\nb+k9KzyUly1bxubNm/Hz8wNgxowZjB07lvbt2zN58mQyMjJo1aoVqampbNy4kZKSEmJjY+nYsSMO\nh6OiyxERkbuI2U8eUuGhHB4ezvz5811j6QcOHODhhx8GruwynpWVhd1up3Xr1jgcDhwOB+Hh4WRn\nZ7Nt2zaOHj3K2bNnyc/PZ+DAgWzZsoWffvqJmTNn0qpVK+bOncv+/fvJz8+nefPmzJgxo6I3QURE\nTMrsV4mq8DnlHj164O3976x3Op3YbFd+Sr/tMl5QUODajfy35QUFBQBUq1aN5cuX06NHD7Zt28aS\nJUsYPnw4n3zyCQUFBQQFBbFy5Uo2btzI3r17ycnJqehNEBERk7LbnG7djKLS97622/+d+7/tMh4Q\nEODajfy35b+FdMuWLQEIDAykcePGAAQHB1NSUoKvry95eXkkJCRQvXp1Lly4wMWLFyt7E0RERKpE\npe993bJlS3bu3AlAZmYmbdu2JTIykj179lBSUsL58+c5fPgwTZs2BXB11deSmZnJqVOnSElJISEh\ngeLiYpxO43zDERERz6rK02xWhkrvlMePH09iYiIpKSk0atSIHj164OXlRVxcHLGxsTidTuLj4/H1\n9b3pe0VGRrJo0SIGDhyIzWYjLCyM3NxcwsLCKnszRETEBMy+o5fNeRe0mn7hMZ4uQSpJp6WjPF3C\ndZUZ/JO1/fkFni5B7lJFx25+tSR3bTv1D7de9//q9qrgStyjM3qJiIhlGGmnLXcolEVExDLMPnyt\nUBYREcsweygbaaczERGRu5o6ZRERsQyzd5oKZRERsYwbnOrCFBTKIiJiGSbPZIWyiIhYhzplERER\ng9CcsoiIiEHYTH7yELN/qRAREbEMdcoiImIZJp9SvjtC2WbTgICI3D3u5r952tFLRETEIEyeyQpl\nERGxDrOf+1qhLCIilmHyTFYoi4iIdZh9Tvnu3RtARETEYNQpi4iIZZi8UVYoi4iIdSiURUREDEJ7\nX4uIiBiEyTNZoSwiItZh9gtSKJRFRMQyzN4p65AoERERg6jQTvnixYtMnDiRkydPUlpaysiRI2nc\nuDETJkzAZrPRpEkTXnvtNex2Oxs2bGDdunV4e3szcuRIunbtWpGliIjIXcjsJw+p0FDevHkzISEh\nzJ49m/z8fJ5++mmaN2/O2LFjad++PZMnTyYjI4NWrVqRmprKxo0bKSkpITY2lo4dO+JwOCqyHBER\nucuYffi3QkO5Z8+e9OjRAwCn04mXlxcHDhzg4YcfBqBLly5kZWVht9tp3bo1DocDh8NBeHg42dnZ\nbNu2jaNHj3L27Fny8/MZOHAgW7Zs4aeffmLmzJm0atWKuXPnsn//fvLz82nevDkzZsyoyE0QERET\nM3unXKFfKvz9/QkICKCgoIAxY8YwduxYnE4ntv/9Kfn7+3P+/HkKCgoIDAws97qCggIAqlWrxvLl\ny+nRowfbtm1jyZIlDB8+nE8++YSCggKCgoJYuXIlGzduZO/eveTk5FTkJoiIiInZ3LwZRYV3+qdO\nnWLw4MH86U9/4sknn8Ru//cqCgsLCQoKIiAggMLCwnLLfwvpli1bAhAYGEjjxo0BCA4OpqSkBF9f\nX/Ly8khISGDy5MlcuHCBixcvVvQmiIiISdls7t2MokJD+cyZMwwdOpRx48bxzDPPAFdCdufOnQBk\nZmbStm1bIiMj2bNnDyUlJZw/f57Dhw/TtGlTAFdXfS2ZmZmcOnWKlJQUEhISKC4uxuk09zFpIiJS\ncczeKVfonPKSJUs4d+4cixYtYtGiRQBMmjSJ6dOnk5KSQqNGjejRowdeXl7ExcURGxuL0+kkPj4e\nX1/fm75/ZGQkixYtYuDAgdhsNsLCwsjNzSUsLKwiN0NERMQjbM67oNWsft9AT5cglaTj317wdAnX\nVWbwT9b25xd4ugSpJDabsfdBvnD0vUp7758vfOTW6+pVf7KCK3GPzuglIiKWYaShaHcolEVExDJ0\n7msRERGDUKcsIiJiEEY6vMkdCmUREbEMk2ey6U8TKiIiYhnqlEVExDLM3mkqlEVExDI0pywiImIY\n5k5lhbKIiFiGTaEsIiJiDEY/xejNKJRFRMRC1CkbntNZ5ukS5C5k9AtSiPuM3o3pb17VKC4uZty4\ncfzrX//C39+fmTNnUrNmzXLPWbFiBR9//DE2m40RI0bQvXv3G76nsX+zREREboPNzf/csXbtWpo2\nbcqaNWt4+umnXZcs/s25c+dYtWoV69atY8WKFSQlJd30PRXKIiJiITY3b7dvz549dO7cGYAuXbrw\n1VdflXvcz8+PevXqUVRURFFREbZbOF7rrhi+FhGRu0NlTS2kpaXx7rvvllt2zz33EBgYCIC/vz/n\nz5+/6nV169ald+/eXL58meeff/6m61Eoi4iIhVTOjl5RUVFERUWVWzZq1CgKCwsBKCwsJCgoqNzj\nmZmZ5ObmkpGRAcCzzz5LmzZtiIyMvO56NHwtIiKWUZVzym3atGHbtm3AlQB+6KGHyj0eHBxMtWrV\ncDgc+Pr6EhgYyLlz5274nuqURUTEMqry5CExMTGMHz+emJgYfHx8mDt3LgArV64kPDycbt26sX37\ndvr374/dbqdNmzZ07Njxhu9pczqdlj9wwy88xtMlSCXptHSUp0u4rksGPyplx4gFni7BtHRI1J0p\nOra20t674OLnbr0uwOfRCq7EPeqURUTEQoz9helmFMoiImIZt3LYkZEplEVExEIUyiIiIoagq0SJ\niIgYhrnnlG+5+mXLltGpUydKSkquemzt2rXMnz+fX375hSlTplz1+K+//srEiRMZNGgQ0dHRxMfH\nu858crPdw0VERG5VVR6nXBluOZQ3b95Mr169+OSTT677nNq1a18zlBMSEujatSurV69m3bp1PPjg\ng0yePNmtgkVERKzqlkJ5586dhIeHEx0dzXvvvQfA119/Td++fRkyZAhbt24F4MSJE/Tv37/ca0+e\nPMmZM2fKXa4qLi6OqVOnlnve999/T0xMDIMGDeLZZ5/l559/pqSkhBEjRjBo0CD69evH//zP/wCQ\nnp7OgAEDiImJYc6cOe5vvYiIWIrNZnPrZhS3FMppaWlERUXRqFEjHA4H+/bt4/XXX2fu3Lm88847\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23c4e60a8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "corr = df.corr()\n",
    "ax = sns.heatmap(corr, cmap=\"YlGnBu\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 6. Split out training set and testing set data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def load_data(stock, seq_len):\n",
    "    amount_of_features = len(stock.columns)\n",
    "    print (\"Amount of features = {}\".format(amount_of_features))\n",
    "    data = stock.as_matrix()\n",
    "    sequence_length = seq_len + 1 # index starting from 0\n",
    "    result = []\n",
    "\n",
    "    for index in range(len(data) - sequence_length): # maxmimum date = lastest date - sequence length\n",
    "        result.append(data[index: index + sequence_length]) # index : index + 22days\n",
    "\n",
    "    result = np.array(result)\n",
    "    row = round(0.8 * result.shape[0]) # 80% split\n",
    "    print (\"Amount of training data = {}\".format(0.9 * result.shape[0]))\n",
    "    print (\"Amount of testing data = {}\".format(0.1 * result.shape[0]))\n",
    "\n",
    "    train = result[:int(row), :] # 90% date\n",
    "    X_train = train[:, :-1] # all data until day m\n",
    "    y_train = train[:, -1][:,-1] # day m + 1 adjusted close price\n",
    "\n",
    "    X_test = result[int(row):, :-1]\n",
    "    y_test = result[int(row):, -1][:,-1]\n",
    "\n",
    "    X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], amount_of_features))\n",
    "    X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], amount_of_features))\n",
    "\n",
    "    return [X_train, y_train, X_test, y_test]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Amount of features = 9\n",
      "Amount of training data = 8073.0\n",
      "Amount of testing data = 897.0\n"
     ]
    }
   ],
   "source": [
    "X_train, y_train, X_test, y_test = load_data(df, seq_len)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 7. Model Execution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def build_model(shape, neurons, dropout, decay):\n",
    "    model = Sequential()\n",
    "\n",
    "    model.add(LSTM(neurons[0], input_shape=(shape[0], shape[1]), return_sequences=True))\n",
    "    model.add(Dropout(dropout))\n",
    "\n",
    "    model.add(LSTM(neurons[1], input_shape=(shape[0], shape[1]), return_sequences=False))\n",
    "    model.add(Dropout(dropout))\n",
    "\n",
    "    model.add(Dense(neurons[2],kernel_initializer=\"uniform\",activation='relu'))\n",
    "    model.add(Dense(neurons[3],kernel_initializer=\"uniform\",activation='linear'))\n",
    "    # model = load_model('my_LSTM_stock_model1000.h5')\n",
    "    adam = keras.optimizers.Adam(decay=decay)\n",
    "    model.compile(loss='mse',optimizer='adam', metrics=['accuracy'])\n",
    "    model.summary()\n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_1 (LSTM)                (None, 22, 256)           272384    \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_2 (LSTM)                (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_2 (Dropout)          (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 805,953\n",
      "Trainable params: 805,953\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model = build_model(shape, neurons, dropout, decay)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 5740 samples, validate on 1436 samples\n",
      "Epoch 1/90\n",
      "5740/5740 [==============================] - 2s - loss: 2.5369e-05 - acc: 1.7422e-04 - val_loss: 0.0083 - val_acc: 0.0000e+00\n",
      "Epoch 2/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.8801e-05 - acc: 1.7422e-04 - val_loss: 0.0082 - val_acc: 0.0000e+00\n",
      "Epoch 3/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.7600e-05 - acc: 1.7422e-04 - val_loss: 0.0078 - val_acc: 0.0000e+00\n",
      "Epoch 4/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.5709e-05 - acc: 1.7422e-04 - val_loss: 0.0055 - val_acc: 0.0000e+00\n",
      "Epoch 5/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.0011e-05 - acc: 1.7422e-04 - val_loss: 0.0013 - val_acc: 0.0000e+00\n",
      "Epoch 6/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.2279e-05 - acc: 1.7422e-04 - val_loss: 0.0021 - val_acc: 0.0000e+00\n",
      "Epoch 7/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.5090e-06 - acc: 1.7422e-04 - val_loss: 0.0018 - val_acc: 0.0000e+00\n",
      "Epoch 8/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9478e-06 - acc: 1.7422e-04 - val_loss: 0.0013 - val_acc: 0.0000e+00\n",
      "Epoch 9/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.1808e-06 - acc: 1.7422e-04 - val_loss: 0.0013 - val_acc: 0.0000e+00\n",
      "Epoch 10/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.8963e-06 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 11/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.6626e-06 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 12/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.5410e-06 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 13/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.4403e-06 - acc: 1.7422e-04 - val_loss: 0.0013 - val_acc: 0.0000e+00\n",
      "Epoch 14/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.3370e-06 - acc: 1.7422e-04 - val_loss: 0.0013 - val_acc: 0.0000e+00\n",
      "Epoch 15/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.1826e-06 - acc: 1.7422e-04 - val_loss: 9.8534e-04 - val_acc: 0.0000e+00\n",
      "Epoch 16/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.0906e-06 - acc: 1.7422e-04 - val_loss: 8.6207e-04 - val_acc: 0.0000e+00\n",
      "Epoch 17/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.0973e-06 - acc: 1.7422e-04 - val_loss: 9.6874e-04 - val_acc: 0.0000e+00\n",
      "Epoch 18/90\n",
      "5740/5740 [==============================] - 1s - loss: 9.5420e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 19/90\n",
      "5740/5740 [==============================] - 1s - loss: 9.1720e-07 - acc: 1.7422e-04 - val_loss: 0.0010 - val_acc: 0.0000e+00\n",
      "Epoch 20/90\n",
      "5740/5740 [==============================] - 1s - loss: 7.5064e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 21/90\n",
      "5740/5740 [==============================] - 1s - loss: 6.6855e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 22/90\n",
      "5740/5740 [==============================] - 1s - loss: 6.4325e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 23/90\n",
      "5740/5740 [==============================] - 1s - loss: 5.7092e-07 - acc: 1.7422e-04 - val_loss: 0.0019 - val_acc: 0.0000e+00\n",
      "Epoch 24/90\n",
      "5740/5740 [==============================] - 1s - loss: 1.7294e-06 - acc: 1.7422e-04 - val_loss: 7.0418e-04 - val_acc: 0.0000e+00\n",
      "Epoch 25/90\n",
      "5740/5740 [==============================] - 1s - loss: 8.6632e-07 - acc: 1.7422e-04 - val_loss: 0.0013 - val_acc: 0.0000e+00\n",
      "Epoch 26/90\n",
      "5740/5740 [==============================] - 1s - loss: 6.5474e-07 - acc: 1.7422e-04 - val_loss: 0.0016 - val_acc: 0.0000e+00\n",
      "Epoch 27/90\n",
      "5740/5740 [==============================] - 1s - loss: 6.4054e-07 - acc: 1.7422e-04 - val_loss: 9.9641e-04 - val_acc: 0.0000e+00\n",
      "Epoch 28/90\n",
      "5740/5740 [==============================] - 1s - loss: 5.7460e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 29/90\n",
      "5740/5740 [==============================] - 1s - loss: 5.4478e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 30/90\n",
      "5740/5740 [==============================] - 1s - loss: 6.1030e-07 - acc: 1.7422e-04 - val_loss: 0.0014 - val_acc: 0.0000e+00\n",
      "Epoch 31/90\n",
      "5740/5740 [==============================] - 1s - loss: 5.4339e-07 - acc: 1.7422e-04 - val_loss: 0.0016 - val_acc: 0.0000e+00\n",
      "Epoch 32/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.3918e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 33/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.1382e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 34/90\n",
      "5740/5740 [==============================] - 1s - loss: 6.6148e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 35/90\n",
      "5740/5740 [==============================] - 1s - loss: 7.5883e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 36/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.2781e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 37/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.1082e-07 - acc: 1.7422e-04 - val_loss: 0.0014 - val_acc: 0.0000e+00\n",
      "Epoch 38/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.0773e-07 - acc: 1.7422e-04 - val_loss: 0.0010 - val_acc: 0.0000e+00\n",
      "Epoch 39/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.0212e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 40/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.4828e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 41/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.6519e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 42/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.9104e-07 - acc: 1.7422e-04 - val_loss: 9.6975e-04 - val_acc: 0.0000e+00\n",
      "Epoch 43/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.6953e-07 - acc: 1.7422e-04 - val_loss: 9.2221e-04 - val_acc: 0.0000e+00\n",
      "Epoch 44/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.0067e-07 - acc: 1.7422e-04 - val_loss: 7.5772e-04 - val_acc: 0.0000e+00\n",
      "Epoch 45/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.7730e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 46/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.1716e-07 - acc: 1.7422e-04 - val_loss: 6.8766e-04 - val_acc: 0.0000e+00\n",
      "Epoch 47/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.6960e-07 - acc: 1.7422e-04 - val_loss: 8.2887e-04 - val_acc: 0.0000e+00\n",
      "Epoch 48/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.4890e-07 - acc: 1.7422e-04 - val_loss: 0.0012 - val_acc: 0.0000e+00\n",
      "Epoch 49/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.7470e-07 - acc: 1.7422e-04 - val_loss: 0.0010 - val_acc: 0.0000e+00\n",
      "Epoch 50/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.3921e-07 - acc: 1.7422e-04 - val_loss: 7.4489e-04 - val_acc: 0.0000e+00\n",
      "Epoch 51/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.3057e-07 - acc: 1.7422e-04 - val_loss: 9.3180e-04 - val_acc: 0.0000e+00\n",
      "Epoch 52/90\n",
      "5740/5740 [==============================] - 1s - loss: 5.1990e-07 - acc: 1.7422e-04 - val_loss: 9.3256e-04 - val_acc: 0.0000e+00\n",
      "Epoch 53/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.8902e-07 - acc: 1.7422e-04 - val_loss: 7.4626e-04 - val_acc: 0.0000e+00\n",
      "Epoch 54/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.5563e-07 - acc: 1.7422e-04 - val_loss: 7.4459e-04 - val_acc: 0.0000e+00\n",
      "Epoch 55/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.1655e-07 - acc: 1.7422e-04 - val_loss: 9.0723e-04 - val_acc: 0.0000e+00\n",
      "Epoch 56/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.5587e-07 - acc: 1.7422e-04 - val_loss: 8.1887e-04 - val_acc: 0.0000e+00\n",
      "Epoch 57/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.4551e-07 - acc: 1.7422e-04 - val_loss: 8.3413e-04 - val_acc: 0.0000e+00\n",
      "Epoch 58/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.2673e-07 - acc: 1.7422e-04 - val_loss: 7.8878e-04 - val_acc: 0.0000e+00\n",
      "Epoch 59/90\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5740/5740 [==============================] - 1s - loss: 3.5153e-07 - acc: 1.7422e-04 - val_loss: 6.1090e-04 - val_acc: 0.0000e+00\n",
      "Epoch 60/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.8676e-07 - acc: 1.7422e-04 - val_loss: 6.4940e-04 - val_acc: 0.0000e+00\n",
      "Epoch 61/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.2298e-07 - acc: 1.7422e-04 - val_loss: 0.0011 - val_acc: 0.0000e+00\n",
      "Epoch 62/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.2203e-07 - acc: 1.7422e-04 - val_loss: 7.9688e-04 - val_acc: 0.0000e+00\n",
      "Epoch 63/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.2383e-07 - acc: 1.7422e-04 - val_loss: 7.9037e-04 - val_acc: 0.0000e+00\n",
      "Epoch 64/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.0049e-07 - acc: 1.7422e-04 - val_loss: 9.5373e-04 - val_acc: 0.0000e+00\n",
      "Epoch 65/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.1466e-07 - acc: 1.7422e-04 - val_loss: 8.7448e-04 - val_acc: 0.0000e+00\n",
      "Epoch 66/90\n",
      "5740/5740 [==============================] - 1s - loss: 5.0992e-07 - acc: 1.7422e-04 - val_loss: 8.6585e-04 - val_acc: 0.0000e+00\n",
      "Epoch 67/90\n",
      "5740/5740 [==============================] - 1s - loss: 4.6688e-07 - acc: 1.7422e-04 - val_loss: 7.7352e-04 - val_acc: 0.0000e+00\n",
      "Epoch 68/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.1586e-07 - acc: 1.7422e-04 - val_loss: 6.1072e-04 - val_acc: 0.0000e+00\n",
      "Epoch 69/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.7557e-07 - acc: 1.7422e-04 - val_loss: 8.3079e-04 - val_acc: 0.0000e+00\n",
      "Epoch 70/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9841e-07 - acc: 1.7422e-04 - val_loss: 5.5062e-04 - val_acc: 0.0000e+00\n",
      "Epoch 71/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.7360e-07 - acc: 1.7422e-04 - val_loss: 8.3341e-04 - val_acc: 0.0000e+00\n",
      "Epoch 72/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.7394e-07 - acc: 1.7422e-04 - val_loss: 6.3000e-04 - val_acc: 0.0000e+00\n",
      "Epoch 73/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.8863e-07 - acc: 1.7422e-04 - val_loss: 5.9432e-04 - val_acc: 0.0000e+00\n",
      "Epoch 74/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.8014e-07 - acc: 1.7422e-04 - val_loss: 8.1301e-04 - val_acc: 0.0000e+00\n",
      "Epoch 75/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9064e-07 - acc: 1.7422e-04 - val_loss: 7.5897e-04 - val_acc: 0.0000e+00\n",
      "Epoch 76/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.6395e-07 - acc: 1.7422e-04 - val_loss: 5.7153e-04 - val_acc: 0.0000e+00\n",
      "Epoch 77/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9590e-07 - acc: 1.7422e-04 - val_loss: 6.0957e-04 - val_acc: 0.0000e+00\n",
      "Epoch 78/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9006e-07 - acc: 1.7422e-04 - val_loss: 8.0483e-04 - val_acc: 0.0000e+00\n",
      "Epoch 79/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.2978e-07 - acc: 1.7422e-04 - val_loss: 4.9405e-04 - val_acc: 0.0000e+00\n",
      "Epoch 80/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.7383e-07 - acc: 1.7422e-04 - val_loss: 5.8630e-04 - val_acc: 0.0000e+00\n",
      "Epoch 81/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.4554e-07 - acc: 1.7422e-04 - val_loss: 6.5881e-04 - val_acc: 0.0000e+00\n",
      "Epoch 82/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9485e-07 - acc: 1.7422e-04 - val_loss: 7.1330e-04 - val_acc: 0.0000e+00\n",
      "Epoch 83/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.7940e-07 - acc: 1.7422e-04 - val_loss: 7.6502e-04 - val_acc: 0.0000e+00\n",
      "Epoch 84/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.9055e-07 - acc: 1.7422e-04 - val_loss: 7.5113e-04 - val_acc: 0.0000e+00\n",
      "Epoch 85/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.6034e-07 - acc: 1.7422e-04 - val_loss: 6.3636e-04 - val_acc: 0.0000e+00\n",
      "Epoch 86/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.4174e-07 - acc: 1.7422e-04 - val_loss: 8.0097e-04 - val_acc: 0.0000e+00\n",
      "Epoch 87/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.6044e-07 - acc: 1.7422e-04 - val_loss: 5.5849e-04 - val_acc: 0.0000e+00\n",
      "Epoch 88/90\n",
      "5740/5740 [==============================] - 1s - loss: 3.1553e-07 - acc: 1.7422e-04 - val_loss: 6.8962e-04 - val_acc: 0.0000e+00\n",
      "Epoch 89/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.8125e-07 - acc: 1.7422e-04 - val_loss: 6.6230e-04 - val_acc: 0.0000e+00\n",
      "Epoch 90/90\n",
      "5740/5740 [==============================] - 1s - loss: 2.4078e-07 - acc: 1.7422e-04 - val_loss: 5.1887e-04 - val_acc: 0.0000e+00\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x23d5c8bd240>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(\n",
    "    X_train,\n",
    "    y_train,\n",
    "    batch_size=512,\n",
    "    epochs=epochs,\n",
    "    validation_split=0.2,\n",
    "    verbose=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 8. Result on training set and testing set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def model_score(model, X_train, y_train, X_test, y_test):\n",
    "    trainScore = model.evaluate(X_train, y_train, verbose=0)\n",
    "    print('Train Score: %.5f MSE (%.2f RMSE)' % (trainScore[0], math.sqrt(trainScore[0])))\n",
    "\n",
    "    testScore = model.evaluate(X_test, y_test, verbose=0)\n",
    "    print('Test Score: %.5f MSE (%.2f RMSE)' % (testScore[0], math.sqrt(testScore[0])))\n",
    "    return trainScore[0], testScore[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Score: 0.00010 MSE (0.01 RMSE)\n",
      "Test Score: 0.05823 MSE (0.24 RMSE)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(0.00010413609274765596, 0.058232398930035838)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_score(model, X_train, y_train, X_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 9. Prediction vs Real results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def percentage_difference(model, X_test, y_test):\n",
    "    percentage_diff=[]\n",
    "\n",
    "    p = model.predict(X_test)\n",
    "    for u in range(len(y_test)): # for each data index in test data\n",
    "        pr = p[u][0] # pr = prediction on day u\n",
    "\n",
    "        percentage_diff.append((pr-y_test[u]/pr)*100)\n",
    "    return p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = percentage_difference(model, X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def denormalize(stock_name, normalized_value):\n",
    "    \"\"\"\n",
    "    Return a dataframe of that stock and normalize all the values. \n",
    "    (Optional: create moving average)\n",
    "    \"\"\"\n",
    "    df = quandl.get_table('WIKI/PRICES', ticker = stock_name)\n",
    "    df.drop(['ticker', 'open', 'high', 'low', 'close', 'ex-dividend', 'volume', 'split_ratio'], 1, inplace=True)\n",
    "    df.set_index('date', inplace=True)\n",
    "    \n",
    "    # Renaming all the columns so that we can use the old version code\n",
    "    df.rename(columns={'adj_open': 'Open', 'adj_high': 'High', 'adj_low': 'Low', 'adj_volume': 'Volume', 'adj_close': 'Adj Close'}, inplace=True)\n",
    "    \n",
    "    df.dropna(inplace=True)\n",
    "    df = df['Adj Close'].values.reshape(-1,1)\n",
    "    normalized_value = normalized_value.reshape(-1,1)\n",
    "\n",
    "    #return df.shape, p.shape\n",
    "    min_max_scaler = preprocessing.MinMaxScaler()\n",
    "    a = min_max_scaler.fit_transform(df)\n",
    "    new = min_max_scaler.inverse_transform(normalized_value)\n",
    "      \n",
    "    return new"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_result(stock_name, normalized_value_p, normalized_value_y_test):\n",
    "    newp = denormalize(stock_name, normalized_value_p)\n",
    "    newy_test = denormalize(stock_name, normalized_value_y_test)\n",
    "    plt2.plot(newp, color='red', label='Prediction')\n",
    "    plt2.plot(newy_test,color='blue', label='Actual')\n",
    "    plt2.legend(loc='best')\n",
    "    plt2.title('The test result for {}'.format(stock_name))\n",
    "    plt2.xlabel('Days')\n",
    "    plt2.ylabel('Adjusted Close')\n",
    "    plt2.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n+EZYAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23d5c8abe48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_result(stock_name, p, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 2. Finding the best hyperparameter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def quick_measure(stock_name, seq_len, dropout, shape, neurons, epochs, decay):\n",
    "    df = get_stock_data(stock_name)\n",
    "    X_train, y_train, X_test, y_test = load_data(df, seq_len)\n",
    "    model = build_model(shape, neurons, dropout, decay)\n",
    "    model.fit(X_train, y_train, batch_size=512, epochs=epochs, validation_split=0.2, verbose=0)\n",
    "    # model.save('LSTM_Stock_prediction-20170528.h5')\n",
    "    trainScore, testScore = model_score(model, X_train, y_train, X_test, y_test)\n",
    "    return trainScore, testScore"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "quandl.ApiConfig.api_key = 'zpFWg7jpwtBPmzA8sT2Z'\n",
    "seq_len = 22\n",
    "shape = [seq_len, 6, 1] # Without moving average, 6 features will be used\n",
    "neurons = [256, 256, 32, 1]\n",
    "dropout = 0.3\n",
    "decay = 0.5\n",
    "epochs = 80\n",
    "stock_name = 'AAPL'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. Testing for epochs\n",
    "Repeatedly test it and sum up the result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_211 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_211 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_212 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_212 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_211 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_212 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00008 MSE (0.01 RMSE)\n",
      "Test Score: 0.10969 MSE (0.33 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_213 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_213 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_214 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_214 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_213 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_214 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00007 MSE (0.01 RMSE)\n",
      "Test Score: 0.10301 MSE (0.32 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_215 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_215 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_216 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_216 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_215 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_216 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00004 MSE (0.01 RMSE)\n",
      "Test Score: 0.09786 MSE (0.31 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_217 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_217 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_218 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_218 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_217 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_218 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00003 MSE (0.01 RMSE)\n",
      "Test Score: 0.08666 MSE (0.29 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_219 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_219 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_220 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_220 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_219 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_220 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00005 MSE (0.01 RMSE)\n",
      "Test Score: 0.09054 MSE (0.30 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_221 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_221 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_222 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_222 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_221 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_222 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00011 MSE (0.01 RMSE)\n",
      "Test Score: 0.09735 MSE (0.31 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_223 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_223 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_224 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_224 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_223 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_224 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Score: 0.00004 MSE (0.01 RMSE)\n",
      "Test Score: 0.07947 MSE (0.28 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_225 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_225 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_226 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_226 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_225 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_226 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00006 MSE (0.01 RMSE)\n",
      "Test Score: 0.08223 MSE (0.29 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_227 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_227 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_228 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_228 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_227 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_228 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00007 MSE (0.01 RMSE)\n",
      "Test Score: 0.08136 MSE (0.29 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_229 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_229 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_230 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_230 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_229 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_230 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00013 MSE (0.01 RMSE)\n",
      "Test Score: 0.09750 MSE (0.31 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_231 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_231 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_232 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_232 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_231 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_232 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00006 MSE (0.01 RMSE)\n",
      "Test Score: 0.08323 MSE (0.29 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_233 (LSTM)              (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_233 (Dropout)        (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_234 (LSTM)              (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_234 (Dropout)        (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_233 (Dense)            (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_234 (Dense)            (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00007 MSE (0.01 RMSE)\n",
      "Test Score: 0.08905 MSE (0.30 RMSE)\n"
     ]
    }
   ],
   "source": [
    "epochslist = [40,50,60,70,80,90,100,110,120,130,140,150]\n",
    "epochs_train_result = {}\n",
    "epochs_test_result = {}\n",
    "#i=0\n",
    "\n",
    "#for epochs in epochslist:   \n",
    "#    epochs_train_result[epochs] = 0\n",
    "#    epochs_test_result[epochs] = 0\n",
    "\n",
    "# while i < 5:\n",
    "for epochs in epochslist:    \n",
    "    trainScore, testScore = quick_measure(stock_name, seq_len, d, shape, neurons, epochs, decay)\n",
    "    epochs_train_result[epochs] = trainScore\n",
    "    epochs_test_result[epochs] = testScore\n",
    "#    i+=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "# epochs_train_result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{130: 0.00013116311987289503, 100: 3.6480903766854184e-05, 70: 3.4179953229898728e-05, 40: 7.8168311941938766e-05, 140: 6.4663873177254108e-05, 110: 6.3891367272432981e-05, 80: 4.5311061077072972e-05, 50: 7.3025342032340614e-05, 150: 6.9088417765549137e-05, 120: 6.6415606267396766e-05, 90: 0.0001145383225208227, 60: 3.8652290565410662e-05}\n",
      "[70]\n"
     ]
    }
   ],
   "source": [
    "min_train_val = min(epochs_train_result.values())\n",
    "min_train_val_key = [k for k, v in epochs_train_result.items() if v == min_train_val]\n",
    "print (epochs_train_result)\n",
    "print (min_train_val_key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{130: 0.097501869850681294, 100: 0.079468020431965491, 70: 0.086656097871136636, 40: 0.10968560774606473, 140: 0.083229334584174267, 110: 0.082227346531014919, 80: 0.090541050796810393, 50: 0.1030062428201298, 150: 0.089051851306025304, 120: 0.081362378437197971, 90: 0.097345977936309711, 60: 0.097864382440222261}\n",
      "[100]\n"
     ]
    }
   ],
   "source": [
    "min_test_val = min(epochs_test_result.values())\n",
    "min_test_val_key = [k for k, v in epochs_test_result.items() if v == min_test_val]\n",
    "print (epochs_test_result)\n",
    "print (min_test_val_key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfsAAAFlCAYAAADs50HhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VGX6N/DvtNRJr5AQQnonJAgEDT0CAiIghhZQXNuu\nu68s/gQUxAWUsqy7CKjrrq5rKAYLKGulIy2EnoQUkpBeSZ9MkmnP+0fIUJMZyMycKffnurguMmfO\nOfc8U+5znspjjDEQQgghxGzxuQ6AEEIIIfpFyZ4QQggxc5TsCSGEEDNHyZ4QQggxc5TsCSGEEDNH\nyZ4QQggxc5TsidEIDQ3FtGnTMH36dPW/t956CwAwffp0tLS0PNDxpk6divT0dNTU1GDOnDk6i/Or\nr77Czp07AQBbt27FmjVr+nS8lJQU/Pzzz7oIDa2trVi4cOF9ty1fvhyffvqpTs5jbrZt24aDBw/2\n6RgSiQRz5szBlClT8Msvvzz0cVauXImsrKyH3v/217Jlyxbs27fvoY9FzIeQ6wAIud1///tfuLq6\n3vP4d99999DH9PLywpdfftmXsO5w/vx5BAcH6+x4utTc3IzMzEyuwzA56enpCAoK6tMxcnJyUF9f\njwMHDvTpOKdOnUJycvJD73/7a/l//+//9SkWYj4o2ROTEBoaitOnT+Po0aM4cOAA+Hw+SkpKIBKJ\nsHHjRoSEhKCgoABvvvkm2tvbERAQAKlUCgAoLy/HtGnTcPHiRWzduhUVFRWoq6tDRUUFXF1d8fe/\n/x1eXl64cuUK3nnnHcjlcvj5+aGyshLLly/H8OHD1XEcOHAAhw8fxsmTJ2FjYwMAKCoqQkpKCurq\n6uDu7o73338fnp6eqKmpwZo1a1BVVQW5XI4pU6bg5Zdfvu/rO3DgAD755BN0dHRg2rRpeOWVVwAA\nFy5cwObNm9He3g4ej4c//vGPGDt2LOrq6rBs2TI0NjYCAEaPHo3XXnsNK1asQEdHB6ZPn45vv/0W\nAoHgjvNcvHgRc+bMwY0bNxAcHIy//e1vOHjwIHbt2qW+IKqsrMQzzzyDw4cPIzY2FosWLUJ6ejqk\nUin+/Oc/4/HHHwfQVcOxe/duqFQqODs7Y9WqVQgMDMTy5cvR1NSEsrIyjBkzBvX19eDxeCgsLERD\nQwMeffRRrFy5EiKRCF9//TXS0tIgl8vR3NyMF154AfPmzcO3336Lr7/+Gu3t7RCLxfjnP/+Jd955\nB8XFxWhuboa9vT02b96MgIAApKSkIDIyEmfOnEF9fT0WLlyI+vp6nD17Fu3t7fjHP/6B0NBQtLa2\n4t1330V+fj7kcjkSEhLwxhtvIC0tDVlZWdi0aRMEAgFGjx6NzZs3IyMjA0qlEhEREVi5ciXEYjHG\njRuHmJgY5OXl4c9//jOSkpLUn4E333wTNTU1mD59OtLS0nDixAls27YNSqUSYrEYK1asQExMDLZu\n3YpLly6htrYWoaGh2Lx5s/r9+fvf/47a2lq8/vrr2LRpEwICAu4bs1AoxAcffIADBw5AJBLBxcUF\n69evx4EDB+54LYcOHUJwcDCef/55REdH48UXX8TJkydRW1uLhQsX4tlnn4VSqcSmTZtw+PBhODg4\nICYmBoWFhUhNTe3z95YYEUaIkQgJCWFTp05lTz75pPrfjRs31Nvq6+vZN998w+Lj41lVVRVjjLE1\na9awN954gzHG2PTp09mePXsYY4ydO3eOhYaGsjNnzrCysjIWGxvLGGPsgw8+YOPHj2etra2MMcZe\neukltmXLFiaXy9moUaPY0aNHGWOMnT59Wr3/3ZYtW8b+/e9/q483btw4Vl9fzxhj7JVXXmHbtm1j\njDGWkpLCDh06xBhjrKOjg6WkpLAffvjhnuMtWLCAvfTSS0wul7PW1lY2adIkdvToUdbU1MQef/xx\nVlZWxhhjrLq6mo0aNYpVVFSwbdu2sVWrVjHGGGtra2OvvfYaa2lpueO13i/up59+mkmlUqZQKNiM\nGTPY3r17WWdnJ0tISGDXrl1jjDH2j3/8g23evFld7h999BFjjLGcnBwWHx/P6uvrWXp6Ops3bx6T\nSqWMMcZ+++03NnnyZPV5Fi1adMd5n3rqKSaRSFhnZyebP38+S01NZRKJhD3zzDOsoaGBMcbYxYsX\n1bF/88037JFHHlG/Tz/99BNbu3at+pirVq1ia9asUZffq6++yhhj7NKlSywkJERd7u+++y5buXIl\nY4yx5cuXsy+++IIxxphCoWCvv/46++STT9TH+OmnnxhjjG3dupVt2LCBqVQqxhhjf/vb39jq1asZ\nY4yNHTtW/f7e7cyZM2zKlCmMMcYKCgrYyJEjWWlpKWOMsVOnTrFHH32Utba2sg8++IBNnDiRyeXy\n+x5n7Nix7MqVK73GXFlZyeLi4lhnZydjjLFPP/2UHThw4J7XcvtnNSQkhKWmpjLGGMvMzGRRUVGs\no6OD7d69m82fP591dHSwzs5OtnjxYrZgwYL7xkZMF93ZE6PSUzX+7SIjI+Ht7Q0AiIiIwIEDB9DY\n2Ii8vDw89dRTAID4+Pgeq9qHDRsGsVis3r+5uRn5+fkAuu6QAWDEiBFaV9U/+uij6pjDwsLQ0NAA\nqVSKjIwMNDc3Y8uWLQAAqVSK3NxcPPHEE/cc4+mnn4ZQKIRYLMbEiRNx6tQpAEBdXR3+8Ic/qJ/H\n4/GQl5eHxMREvPjii6iqqsLIkSOxdOlSODg4oLm5uddYJ0yYAFtbWwBAcHAwGhoaYGVlhdmzZ2PP\nnj1YtmwZ9u7dix07dqj3WbBggfq1hYSEICMjA5cvX0ZJSckdfSGam5vR1NQEoKv8bzdjxgzY29sD\n6Op/cejQISxYsAAff/wxjh07huLiYuTm5qprY4Cu2pzu92nSpEkYMGAAUlNTUVJSgrNnz2LIkCHq\n53bfYQ8YMAAAkJiYCADw8/PD2bNnAQBHjx5FZmYmvv76awBAR0fHfcvo6NGjaG1tVb8Hcrkcbm5u\n6u1Dhw7ttYwB4MyZMxgxYoQ6noSEBLi6uqrb4mNjYyEUav757SlmLy8vhIWFYcaMGRg1ahRGjRqF\nhIQEjccbP348gK7vkEwmg1QqxbFjxzB9+nRYW1sDAJKTk+mu3gxRsicmp7v6HOhKfowx8Hg8AAC7\nbamHnn5M77e/QCC4Y18A91SB9+T283QfT6VSgTGGL7/8Up1cGxoa1D+od7v9XIwxCIVCKJVKBAYG\n4quvvlJvq6mpgaurK0QiEQ4dOoTTp0/jzJkzmD17NrZv3w5PT88HjhXo+oGfPXs2hg0bhuDgYPj6\n+t43NpVKBYFAAJVKhenTp+P//u//1I/X1tbCyckJAGBnZ9fr6+Pz+aiurkZycjKeeeYZxMfHY9Kk\nSThy5Ij6ebcfY9euXdizZw/mz5+PadOmwdnZGeXl5ertVlZWd5xPJBLd89pVKhW2bNmCwMBAAEBL\nS4v6c3P389588031hV9bWxs6OzvvG1dP7v4sdT+mUCi0PkZvMfP5fOzYsQOZmZk4ffo03nvvPQwf\nPhwrV67s9Xjdn7/bvy93f0/4fOq3bY7oXSVmwdnZGZGRkerEmJ2drb5b10ZgYCCsrKxw/PhxAMCV\nK1eQn59/32QgEAjUP9o9EYvFiI2NxX/+8x8AXT/Sc+fOxaFDh+77/H379oExhubmZvz0008YNWoU\nYmNjUVJSgoyMDABdHcAmTpyI2tpabN68GR9++CEmTJiAt956C0FBQSguLlZfJNwv2fSmf//+iI2N\nxXvvvYe5c+feExvQVabXr1/HI488gkcffRQ//PADamtrAQC7d+/GokWLejz+Tz/9BJlMhs7OTuzd\nuxdjx45FVlYWXF1d8fvf/x6JiYnqRK9UKu/Z/8SJE5gxYwZmz56NQYMG4fDhw/d9Xm8ee+wxfP75\n52CMQSaT4ZVXXlHXYNz+nj722GPYuXMnZDIZVCoVVq1ahffff/+BzjVixAicPHkSZWVlAIDTp0+j\nqqoKgwcP1rjv3bHcL+bc3FxMnToVgYGBeOmll/Dss88iLy/vnv21MXr0aHz//feQyWRQKBTYu3fv\nA71WYhrozp6Yjffffx8rVqzAl19+CT8/PwQEBGi9r1AoxNatW7F69Wq8//778Pf3h7u7+x21AN1G\njRqFtWvXajzm5s2bsXbtWkybNg0ymQxTp07Fk08+ed/nOjg4YObMmejo6MCCBQvUnQI/+OADbNq0\nCZ2dnWCMYdOmTfDx8cGiRYuwfPlyTJ06FVZWVggNDcXUqVMhEAgQERGByZMnY/fu3XBxcdG6DGbO\nnIm1a9eq72i7XbhwAXv27IFKpcLf//53ODk5ITExES+88AIWL14MHo8HsViMbdu23ffiCOiqTZk3\nbx5aWlowceJEzJo1C52dnfj6668xadIk2NraIiYmBq6urigpKbln/8WLF+Ptt99WdzqMjIx8oIs5\nAHjrrbfw7rvvYtq0aZDL5Rg5ciR+97vfAQDGjh2LjRs3Qi6X4/e//z02btyIGTNmQKlUIjw8HMuX\nL3+gcwUFBWH16tV49dVXoVQqYWNjg48//hgODg4a950wYQKWLFmCdevW9RizSCTC5MmTMWvWLNjZ\n2cHGxkZ9V3/7a9HGzJkzcf36dTz11FOws7ODr6+vujaKmA8ee9BbAELM1MaNG/H888/D3d0dVVVV\nmD59Og4ePAhHR0euQ9M7lUqFv/zlL/Dx8cGLL76ofrx7FISmfhS9Wb58ubpHODE+J06cQH19PaZP\nnw4AWLduHaytrdVNNMQ80J09ITf5+Pjg2WefhVAoBGMM69ats4hEL5FIMHbsWMTExGDZsmVch0MM\nLDg4GJ9++ik+/fRTKJVKhIWF4Z133uE6LKJjdGdPCCGEmDnqoEcIIYSYOUr2hBBCiJmjZE8IIYSY\nObPsoFdX16rzY7q42KGxUar5iRaOykkzKiPtUDlph8pJO5ZQTh4ePQ/tpDt7LQmF2s2mZumonDSj\nMtIOlZN2qJy0Y+nlRMmeEEIIMXOU7AkhhBAzR8meEEIIMXOU7AkhhBAzR8meEEIIMXOU7AkhhBAz\np7dkr1Kp8PbbbyM5ORkpKSn3Xbayvb0dc+bMQWFh4R2PX758GSkpKeq/S0pKMHfuXMybNw+rV6+G\nSqXSV9iEEEKI2dFbsj948CBkMhnS0tKwdOlSbNiw4Y7tmZmZmD9/PsrKyu54/F//+hdWrlyJzs5O\n9WPr16/Ha6+9hl27doExhkOHDukrbEIIIcTs6C3Znz9/HomJiQCA2NhYZGVl3bFdJpNh+/btCAgI\nuONxPz8/bN269Y7HsrOzMWzYMADAqFGjcOrUKX2FTQghhJgdvU2XK5FIIBaL1X8LBAIoFAoIhV2n\njI+Pv+9+EydORHl5+R2PMcbA4/EAAPb29mht7X06XBcXO73MltTbVITkFionzaiMtEPlpB0qJ+1Y\ncjnpLdmLxWK0tbWp/1apVOpE/6D4/FsVEG1tbXB0dOz1+bqe//hkZhWGx/hAyKivgCYeHg56WZvA\nnFAZaYfKSTtUTtqxhHLiZG78uLg4HD9+HABw6dIlhISEPPSxIiIikJ6eDgA4fvw4hg4dqpMYtdEh\nU+CzH3Kw9rN0KJSU7AkhhJgevSX7pKQkWFlZYc6cOVi/fj1WrFiB/fv3Iy0t7YGPtWzZMmzduhXJ\nycmQy+WYOHGiHiK+PxsrIUYP8UFZTSt+zSjTvAMhhBBiZHiMMcZ1ELqm66qatg45Vv37LKQdcqz7\n3XC4O9vq9PjmxBKqyvqKykg7VE7aoXLSjiWUEy1x20f2NiI8Ny0SMoUKuw5e4zocQggh5IFQstfS\n2HhfhPk541LBDVzMr+M6HEIIIURrlOy1xOPxkDIxFAI+D7sO5qNTpuQ6JEIIIUQrlOwfQD83e0wa\n7of6lk58f/I61+EQQgghWqFk/4CmjvSHu5MNfs0oQ3mdhOtwCCGEEI0o2T8ga5EA85NCoFQxpP6S\nB5X5DWYghBBiZijZP4TBQe6ID/HAtfJmnMys4jocQgghpFeU7B/S3AnBsBYJ8NWRQkja5VyHQwgh\nhPSIkv1DcnW0wfTHBkHSLsfXRwu4DocQQgjpESX7Ppgw1Be+HvY4frkK18qbuA6HEEIIuS9K9n0g\nFPCRMjEUAJD6Sx4tlEMIIcQoUbLvo2BfZyTG9EN5XRsOnivnOhxCCCHkHpTsdWD22CCIbUX47sR1\nNLR0cB0OIYQQcgdK9jogthVh9thAdMqV2E0L5RBCCDEylOx15NHofgj2dcL5/DpcLrjBdTiEEEKI\nGiV7HeHftlDOzgP56JTTQjmEEEKMAyV7HfL1ECPpkQG40dyB/50q5jocQgghBAAle52b/ugguDla\n4+f0UlTeaOM6HEIIIYSSva5ZWwkwb0LXQjk7fs0Do4VyCCGEcIySvR4MCfFAbJA7ckubcDq7mutw\nCCGEWDhK9noyb0IwrIR8pB0uQFsHLZRDCCGEO5Ts9cTd2RbTHvVHq1SOb44VcR0OIYQQC0bJXo8m\nDvNDf3d7HLtYgaLKFq7DIYQQYqEo2euRUMBHyuMhYAC++CUXShUtlEMIIcTwKNnrWaifCx6N8kZp\njQSHz1dwHQ4hhBALRMneAGaPC4K9jRB7fytCY2sn1+EQQgixMJTsDcDRzgqzxgSiQ6bEl4dooRxC\nCCGGRcneQEYN7o/A/o7IyK1F1vV6rsMhhBBiQSjZG0j3Qjl8Hg87fsmHjBbKIYQQYiCU7A3Iz8sB\nE4b6orapHT+eKeE6HEIIIRaCkr2BTX9sEFwcrPHjmRJUN0i5DocQQogFoGRvYLbWQswdHwyFkhbK\nIYQQYhiU7DkQH+qB6AA3XC1uxNmcWq7DIYQQYuYo2XOAx+Nh/uMhEAn5+PLQNUg7FFyHRAghxIxR\nsueIp7MtpiYMRHObDHuP00I5hBBC9IeSPYcmDR8Ib1c7HL5YjuJqWiiHEEKIfugt2atUKrz99ttI\nTk5GSkoKSkruHWrW3t6OOXPmoLCwsNd9rl69isTERKSkpCAlJQU//vijvsI2KJHw5kI5DPji5zyo\nVNRZjxBCiO7pLdkfPHgQMpkMaWlpWLp0KTZs2HDH9szMTMyfPx9lZWUa98nOzsZzzz2H1NRUpKam\n4oknntBX2AYX7u+KEZFeKK5uxdFLtFAOIYQQ3dNbsj9//jwSExMBALGxscjKyrpju0wmw/bt2xEQ\nEKBxn6ysLBw9ehTz58/Hm2++CYlEoq+wOZE8Lhi21kJ8c6wIzRJaKIcQQohu6S3ZSyQSiMVi9d8C\ngQAKxa1e5/Hx8ejXr59W+8TExOCNN97Azp07MWDAAGzfvl1fYXPCyd4Ks0YHoL1TgbTDBVyHQwgh\nxMwI9XVgsViMtrY29d8qlQpCYe+n62mfpKQkODo6AgCSkpKwdu3aXo/j4mIHoVDQh+jvz8PDQefH\n7PZ0UhjO5NTizNUaTE0MxOAQD72dS9/0WU7mgspIO1RO2qFy0o4ll5Pekn1cXByOHDmCJ554Apcu\nXUJISMhD7/P8889j1apViImJwenTpxEZGdnrcRobdT8NrYeHA+rqWnV+3NvNGx+Etf89h61fXcKa\nxcMgEpreYAlDlJOpozLSDpWTdqictGMJ5dTbxYzekn1SUhJOnjyJOXPmgDGG9957D/v374dUKkVy\ncrLW+wDAO++8g7Vr10IkEsHd3V3jnb2p8vd2xLg4Xxw6X46f00sw7dFBXIdECCHEDPCYGU7Oro+r\nN0NdFUo7FHjrX2fQ1qHAut8Ng6eLnd7PqUuWcPXcV1RG2qFy0g6Vk3YsoZx6u7M3vXpiM2dnI8Sc\n8cFQKFXYcSCfFsohhBDSZ5TsjdCwcE9E+Lsgq6gB5/PquA6HEEKIiaNkb4R4PB4WPB4KoYCH3Yeu\nob2TFsohhBDy8CjZGylvVzs8MWIgGls78d2J61yHQwghxIRRsjdiUxIGwtPFFgfOlaG0xrw7lhBC\nCNEfSvZGTCQUYMHNhXJSf8mDijrrEUIIeQiU7I1c1CA3PBLmicLKFhy/XMl1OIQQQkwQJXsTMGd8\nMGysBPjmaCFa2mRch0MIIcTEULI3AS4O1piRGIC2DgW+OkIL5RBCCHkwlOxNxLh4H/h5iXEyqxp5\npY1ch0MIIcSEULI3EQI+HwsnhoEH4Itf8qBQqrgOiRBCiImgZG9CAvo7YvQQH1TVS/HL2VKuwyGE\nEGIiKNmbmFmjA+BoJ8L+k8W40dTOdTiEEEJMACV7E2NvI0LyuGDIFCr8c3825AqqzieEENI7SvYm\naESkF0ZEeKGwogW7DuZzHQ4hhBAjR8neBPF4PCyaHIYBnmIcu1SJo5cquA6JEEKIEaNkb6KsRQK8\nOjMa9jZC7Pw1HwUVzVyHRAghxEhRsjdhHs62ePmpKKgYw/a9mWiSdHIdEiGEECNEyd7ERfq7YvaY\nIDRLZPhwXxaNvyeEEHIPSvZmYOKwARgW7omC8mbsPniN63AIIYQYGUr2ZoDH4+G5yeHw9bDHkYsV\ntDoeIYSQO1CyNxPWVgK8OisG9jZC7Pg1D0WVLVyHRAghxEhQsjcjns62eGl6JJSqrg57zbQcLiGE\nEFCyNztRg9wwa3QgGls78dHeTOqwRwghhJK9OZo83A9DQz2QX96MtEMFXIdDCCGEY5TszRCPx8Pi\nKeHw8bDHoQvlOHGliuuQCCGEcIiSvZmysRLi1ZnRsLMW4otf8nC9ijrsEUKIpaJkb8a8XOzw4pOR\nUCpV2L43Ey3UYY8QQiwSJXszFxPohhmjAtDQ0omPaIY9QgixSJTsLcCUhIGID/FAXlkT9hyhDnuE\nEGJpKNlbgO4Oe/3d7XHwXDlOZVGHPUIIsSSU7C2ErbUQf5wZDVtrIf77cx5Kqlu5DokQQoiBULK3\nIF6udnhxWgQUChW2fXsFrVLqsEcIIZaAkr2FGRzkjumJg1Df0omPv8uGUkUd9gghxNxRsrdAU0f6\nY0iwO3JKGvHVkUKuwyGEEKJnlOwtEJ/Hw++mRqCfmx1+zSjDmexqrkMihBCiR5TsLZStddcMezZW\nAnz+Uy5Ka6jDHiGEmCu9JXuVSoW3334bycnJSElJQUlJyT3PaW9vx5w5c1BYWNjrPiUlJZg7dy7m\nzZuH1atXQ0XtzDrRz80eL0yLgEyhwrZvMyFpl3MdEiGEED3QW7I/ePAgZDIZ0tLSsHTpUmzYsOGO\n7ZmZmZg/fz7Kyso07rN+/Xq89tpr2LVrFxhjOHTokL7CtjhDgj3w5KP+uNHcgY+/y6IOe4QQYob0\nluzPnz+PxMREAEBsbCyysrLu2C6TybB9+3YEBARo3Cc7OxvDhg0DAIwaNQqnTp3SV9gW6cnHBiE2\nyB1XixvxzbEirsMhhBCiY0J9HVgikUAsFqv/FggEUCgUEAq7ThkfH6/1Powx8Hg8AIC9vT1aW3tv\nX3ZxsYNQKNDFy7iDh4eDzo9pLJY/OwxLtxzDz+mliAn2ROIQn4c+ljmXk65QGWmHykk7VE7aseRy\n0luyF4vFaGtrU/+tUqnUif5B9+Hzb1VAtLW1wdHRsdfjNDZKHzLqnnl4OKCuzrw7sb0yPQprvziH\nf6RdgL0VHwM8xZp3uosllFNfURlph8pJO1RO2rGEcurtYkZv1fhxcXE4fvw4AODSpUsICQl56H0i\nIiKQnp4OADh+/DiGDh2qp6gtW393e/xuSgRk8q4Z9qjDHiGEmAe9JfukpCRYWVlhzpw5WL9+PVas\nWIH9+/cjLS3tgfYBgGXLlmHr1q1ITk6GXC7HxIkT9RW2xYsP9cDUkf6oa+rAJ99nQ6ViXIdECCGk\nj3iMsV5/zRcvXozPPvvMUPHohD6qaiyhCqibSsXwwTdXcKWwHlMSBmLW6ECt97WkcnpYVEbaoXLS\nDpWTdiyhnPpUjd/R0YGqKloS1ZLw+Ty8OC0Cni62+OF0Cc7l1nIdEiGEkD7Q2EGvsbER48aNg5ub\nG6ytrdU942msu3mzsxHhjzOjse6L8/j0hxx4u9nB1+PBO+wRQgjhnsZk/+9//9sQcRAj5OMhxvNT\nwvHhvixs+yYTq54dCnsbEddhEUIIeUAaq/H79++PY8eOYePGjXj33Xdx6NAh9OvXzxCxESMwNMwT\nUxIGorapHZ98f5U67BFCiAnSeGe/adMmlJSUYNasWWCM4dtvv0V5eTnefPNNQ8RHjMCMxACU1LQi\ns6ge+05cx8xRAZp3IoQQYjQ0JvuTJ09i37596oltxowZg2nTpuk9MGI8+HweXnoyEms+z8D/ThVj\noJcY8aGeXIdFCCFESxqr8ZVKJRQKxR1/CwS6n4qWGDd7GxH+ODMGViI+/v1DDiputGneiRBCiFHQ\nmOynTZuGhQsXIjU1FampqVi0aBGmTp1qiNiIkfH1FGPxE+HolCmx7ZsrkHYoNO9ECCGEcxqr8V94\n4QWEh4fjzJkzYIzh5ZdfxpgxYwwQGjFGw8K9UFLdip/SS/Gv/dn449Mx4N9cpIgQQohx0pjsn376\naezduxejR482RDzEBMwaHYjSWgkuF9bj+xPX8VQiddgjhBBjprEa383NDefOnYNMJjNEPMQEdHfY\nc3eywfcni3Exv47rkAghhPRCY7LPzs7GggULEBMTg/DwcISFhSE8PNwQsREjJrYV4dWZ0bAS8vGv\n/11FVT112COEEGOlsRr/P//5D8LCwgwRCzExfl4OeO6JcPzz+2xs/SYTqxbR0sOEEGKMNN7ZL1my\nxBBxEBM1PMILk4b5obpBin//j2bYI4QQY6Txzj4oKAjbtm3D4MGDYWNjo378kUce0WtgxHTMGtM1\nw97Fazdw5HwZYvxduA6JEELIbTQm+6amJqSnpyM9PV39GI/HwxdffKHXwIjpEPD5eO6JMLzx0Wkc\nOFtKyZ4QQoyMxmSfmppqiDiIiXN3skWYnzOyi+pxo6kd7s62XIdECCHkph7b7G9f6Gbv3r13bJs7\nd67+IiImKyHKGwBwOrua40gIIVyQyZXYtOsCjl6q4DoUcpcek31OTo76/3dX2be3t+svImKyhoZ6\nwkokwKmsajBGHfVMRUWdBGfoAo3oQH55E3JLm3Ago4zrUMhdekz2t/9Y3/3DzaPpUcl92FoLMSLK\nGzWN7Shl8cJKAAAgAElEQVSqauE6HKKFTrkS//jqCj7ZfxV1TXQRT/omt6QJAFBVL6XPk5HpMdnf\nntApuRNtjRs6AABwKovuFE3BD6dLUN/SAQC4Vt7EcTTE1OWWNqr/n1lUz2Ek5G49Jnu5XI6qqipU\nVFSo/19ZWYnKykrI5XJDxkhMSGywB5zsrXD2ag0UShXX4ZBe1DRI8XN6CaxFXUtWF1RQbQx5eO2d\nChRXtcLdqWuIdmYhJXtj0mNvfKlUigULFqir8OfPn6/eRnf6pCcCAR/DI7zwa0YZrhTWIy7Eg+uQ\nyH0wxrDzQD4USobFU0Lx+U+5KKA7e9IH18qboGIMwyO8cPHaDeSUNEKuUEIkFHAdGkEvyf7w4cOG\njIOYkZFR3vg1owynsqop2RupC/l1yLregEh/FwwP98LxS5XIK22CtEMOOxsR1+ERE9TdXh820AUK\npQq/nC1DXmkTogLcOI6MAFpMl0vIg/LzcoCvhxiXC25A0k5NPsamU6bE7kPXIODzMP/xUPB4PAT5\nOoEBKKqkqnzycHJKGyHg8xDk44SYmwn+CrXbGw1K9kQvRkZ5Q6liyMip4ToUcpf9p4rR0NKJScP9\n4O1qBwAI8nEGAFwrb+YyNGKipB1ylNa0IrC/I6xFAgQPcIa1lYDa7Y0IJXuiF8MjvMDjUa98Y1NV\n34ZfzpbCzdEaUxP81Y8H+jgCAAoqKNmTB5dX1gTGuqrwAUAo4CNioAtqGttR0yjlODoCaJHsZTIZ\nPvroI7zxxhuQSCTYtm0bZDKZIWIjJszFwRqR/q4orGxBdQN92Y1Bd6c8pYphzvgQWFvd6jhlbyOC\nj7s9iipboFTRKAryYNTt9X631sWIDuyqyqe7e+OgMdmvWbMG7e3tuHr1KgQCAUpLS/HWW28ZIjZi\n4tTT59LdvVE4l1eHq8WNiA5wQ1yI+z3bg3yd0ClXory2jYPoiCnLLW2EUMBX1xABoHZ7I6Mx2Wdn\nZ+PPf/4zhEIhbG1tsXHjxjum0iWkJ3HBHrC2EuB0djVUNH0up9o7Ffjy0DUIBTzMSwq+7/DZIB8n\nADS5DnkwknY5ymolCPJxvGOYnaujDXw87JFX2oROuZLDCAmgRbLn8XiQyWTqH4fGxkYaZ0+0Ym0l\nwNBQD9xo7sC1MkogXNp/qhiNrZ2YPHwgvFzs7vucIN+uZE/t9uRB5N2cNa+7vf52MQFukCtU6ucQ\n7mhM9gsXLsRzzz2Huro6vPvuu5g1axYWLVpkiNiIGRgZSSvhca3iRhsOZJTB3ckGUxIG9vg8T2db\nONqJqEc+eSDd7fXh90v26nb7BoPGRO6lcT37UaNGISoqCunp6VAqlfjoo48QFhZmiNiIGQgd6AJX\nR2tk5NZi3oQQWIloNi1DYoxh5695UKqYxvLvGm/vjAv5dWho6YCro40BIyWmKre0EVYiPgb1c7xn\nW6CPE2ytBbhSdAPz2P2bj4hhaLyznz9/PoKCgjB//nwsXLiQEj15IHweDwmR3mjvVOJSwQ2uw7E4\n6Tk1yC1twuBAN8QG39sp72632u3p7p5o1twmQ8WNNgT7OkMouDedCAV8RPi7oq6pAzWNtAoelzQm\n+7CwMOzbtw9FRUXqhXAqKysNERsxEwk3q/JpzL1htXcqkHa4ACIhH3OTQrTaR91uT8meaEHdXu/n\n3ONzort75dMQPE5prMa/fPkyLl++fMdjPB4Phw4d0ltQxLz0d7eHv7cDsooa0Nwmg5O9FdchWYTv\nTlxHs0SGpx4bBE9nW632GejlAKGAj2sV1KGSaJZb0nPnvG7dyT6z8AYef2SAQeIi99KY7GlBHKIL\nI6O8UVx9DelXa+gLbwDltRIcPFcOD2cbTB7hp/V+IiEfg/o5oKCiGR0yBWysNP5EEAuWU9oEGysB\n/L0denyOi4M1BniKkVfWhE6Z8o7JnIjhaPwmFxUVYdeuXZBKpWCMQaVSoby8HDt37ux1P5VKhXfe\neQd5eXmwsrLCunXrMHDgrZ7Ahw8fxvbt2yEUCjFr1iw888wzkMlkWLFiBcrKyiAWi/H222/D398f\nV69exUsvvQR/f38AwNy5c/HEE0/07ZUTgxoW4YW0wwU4nVVNyV7PGGPY8WseVIxhflLIAy8xGuTj\nhGvlzSiqbEGEv6ueoiSmrrG1EzUNUsQEukHA771FOCbQDWW1EuSUNGrVd4TonsY2+yVLlsDR0RE5\nOTkIDw9HfX09goODNR744MGDkMlkSEtLw9KlS7Fhwwb1NrlcjvXr1+Ozzz5Damoq0tLScOPGDezZ\nswd2dnbYs2cPVq5cibVr1wLomtjnueeeQ2pqKlJTUynRmyBHOytEB7ihpKYV5XUSrsMxa2eya5Bf\n3owhwe6ICXzwH1ZqtyfayFW31/dchd9NXZVPs+lxRmOyV6lU+NOf/oTExERERETgww8/xJUrVzQe\n+Pz580hMTAQAxMbGIisrS72tsLAQfn5+cHJygpWVFeLj45GRkYGCggKMGjUKABAQEIDCwkIAQFZW\nFo4ePYr58+fjzTffhERCycIUjaTpc/VO2qFA2pECWAn5mDte80X5/ah75NPkOqQXt9rre+6c1y3Q\nxxF21kJcKawHo9k0OaGxGt/W1hYymQz+/v7Izs7G0KFD0dnZqfHAEokEYrFY/bdAIIBCoYBQKIRE\nIoGDw602Hnt7e0gkEoSHh+PIkSOYMGECLl++jJqaGiiVSsTExGD27NmIiorCRx99hO3bt2PZsmU9\nntvFxQ7CB6y61IaHR8/tUuSWnsppvLMd/vtzLs7m1uKlp2Mh4FvumFt9fZY+2ZeJljYZFkwOQ3iw\n50MdwwOAj4cY16ta4Oom5vR9ou+cdrgop2sVzbC3FSEusr9Wn5G4ME+cuFyJTsbDAE9u3ldL/jxp\nTPZPPvkkXn75ZWzevBnJycn47bff4OXlpfHAYrEYbW23FtRQqVQQCoX33dbW1gYHBwdMmDABhYWF\nmDdvHuLi4hAZGQmBQICkpCQ4OnZN2JCUlKSu3u9Jox6WVPTwcEBdXavOj2tuNJXT0DBPHLtUid/O\nlyLSQtuD9fVZKq1pxf9OFMHLxRaJkd59OscgbwdU1ElwOacaAzzFmnfQA/rOaYeLcqpv7kB1vRSx\nQe5oqNeupjXExwknLlfiaEYpJg3XvtOorljC56m3ixmN1fgLFizABx98AFdXV6SmpiI5ORnbt2/X\neNK4uDgcP34cAHDp0iWEhNwa5xsYGIiSkhI0NTVBJpPh3LlzGDJkCDIzM5GQkIDdu3dj0qRJGDCg\nqyPX888/r246OH36NCIjIzWenxin7qr8U5lUla9LKsaw40A+GMPNTnkav9q9utVuT0PwyL1ye5kP\nvyfRAV0X99Ruzw2Nd/bbtm2757G8vDy8+uqrve6XlJSEkydPYs6cOWCM4b333sP+/fshlUqRnJyM\n5cuX4/nnnwdjDLNmzYKXlxdEIhG2bNmCjz/+GA4ODnj33XcBAO+88w7Wrl0LkUgEd3d3jXf2xHgF\n+TjBw9kG5/NrkSILoaFdOnIqsxoF5c2ID/VA1M3OUH0RfNuiOGPjfPt8PGJe1O31vUymczcnsTUG\nejkgv6wJ7Z0K2FrTd9+QHqi05XI5fvvtNwwePFjjc/l8PtasWXPHY4GBger/jxs3DuPGjbtju6ur\nKz7//PN7jhUZGYkvv/zyQUIlRop3c/rc708W40J+HUZG9eM6JJPX1iHHV0cLYCV6+E55d/NytYO9\njZCmzSX3YIwht7QRYlsRfB+wiSc6sGtETk5JI+JCPPQUIbkfjcn+7jv4P/zhD1i8eLHeAiLmb2RU\nV7I/lVVNyV4H9h4vQqtUjqfHBOps8Ro+j4cgHydcLqxHk6QTzmJrnRyXmL665g7Ut3QiPsQD/Adc\n2CYm0A3/O1WMzKJ6SvYG9sANe21tbTQ3PukTTxc7BPk6Iae4EQ0tHVyHY9JKqltx5GIFvF3tdD5Z\nEY23J/ejzRS5PQno5wh7GxqCxwWNd/bjxo1TL0vIGENLSwvd2ZM+GxnpjYLyZqRfrcHkET2vsU56\npmIMqb/mdXXKezzkvquO9UWwb1d7bEFFM4aGPdwwPmJ+crVY/KYnfD4PUQFuSL9ag4obbfD14Gak\nhyXSmOxTU1PV/+fxeHB0dLxj/DwhD+ORcE/sOpiPk1nVmDTcj9a5fggnrlShqLIFj4R56mUYo7+3\nAwR8HrXbEzXGGHJLGuFoJ0J/d/uHOkZ0gCvSr9Ygs7Cekr0BaUz2GRkZvW5/6qmndBYMsRz2NiLE\nBrnjXF4dSmskGNjLQhrkXpJ2Ob4+WghrkQBzdNQp725WIgEGejugpLoVnXIlrEW0gImlq2lsR5NE\nhkfCPB/6Aj1qkBt46Frylmr1DEdjsj969CjOnTuHcePGQSgU4tixY/Dw8MCgQYMAULInDy8hyhvn\n8upwKquakv0D+vZYISTtcjwzNgguDvrrPBfk44SiyhYUV7UgVIs50Il5626vD3+I9vpujvZW8L+5\nsqK0QwE7GxqCZwgaS7mhoQHfffcd3Ny6xu62trbi5Zdfxvr16/UeHDFv0QFuENuKkH61GrPHBuq8\nzdlcXa9qwbFLlejvbo8JQ/U7Bj7Y1wm/ZpShoKKZkj1BTh86590uOsAN16tacbW4gfqDGIjGX9ea\nmhq4uNx6Y62trdHcTG14pO+EAj6GR3ihRSpH9vUGrsMxCSoVQ+oveWAAFiTpvlPe3dSL4lC7vcVj\njCGvtBHOYit4udj26VjdqzHSbHqGo/HOfsyYMVi0aBEmTpwIxhh+/PFHPPnkk4aIjViAkVHeOHS+\nHKezqzE4iNa51uT4lUoUV7diRIRXn++utOEktoaHsw0KK5qhYuyBx1UT81F5ow0tUjlGRHr1uUOt\nfz8HiG1FyCzqGoJHHXT1T+NtwYoVKzBv3jwUFRWhsrISr776Kl588UVDxEYsgL+3A/q52eFC/g1I\nO+Rch2PUWqUyfHO0EDZWAjwzLshg5w3ycUZbhwJV9bpfYIqYjtzSrnUStFm/XhM+j4foAFc0SWQo\nq6Ulyw2h12SvVCohk8kwefJkLFmyBLGxsejfv7+hYiMWgMfjYWSUNxRKFc7l1XEdjlH75lgh2joU\neCoxwKAz2nVPrlNI69tbtL5MpnM/0TfXcKCqfMPoMdlnZmZizJgxOHv2LCQSCWbMmIHPP/8cr7zy\nCg4ePGjIGImZGxFxcyW8LFoJryeFFc04frkKvh72GB/vY9BzB6vb7WkFPEulujkfvpujNTycdDMl\nc1TArSF4RP96TPabNm3Cli1b8Nhjj2Hv3r1wcnLC7t278eWXX+LDDz80ZIzEzLk52SDMzxn5ZU2o\na2rnOhyjo1Ix7Pg1HwCw4PFQCPiGHbXQ38MettZCmjbXgpXXStDWoUCYn4vO2tfFtiIE9HdEYUUL\n2qgJT+96/NVobm5GXFwcgK415CdOnAgAcHZ2hlxObwzRre4FcU5n09393Y5eqkBJTSsSIr0RMuDB\npyjtKz6Ph0AfR9Q0tqNFKjP4+Qn31O31Ou4UGh3oBhVjNBrHAHpM9t2LFMjlcmRkZCAhIUH9d1tb\nm2GiIxYjPtQDVkI+TmdV0wIZt2lpk+HbY0WwtTZsp7y7dQ/BK6S7e4t0a/16HSd7arc3mB6H3j3y\nyCP4y1/+ArlcDi8vL0RHR6OmpgYfffQRHnvsMUPGSCyArbUQcSEeOHO1BkWVLQi8mVws3ddHCyHt\nVGDehGA42VtxFoe63b6iGUNoaVKLolIx5JU1wcPZBm46aq/vNtDbAY52ImQWNdDQTj3r8c5++fLl\n6N+/P+zt7fHPf/4TALBr1y50dHRg+fLlBguQWI6RUdRR73bXyptwIrMKfp5ijI0zbKe8uwX0dwKf\nx6N2ewtUWtuK9k6Fzu/qge4heG5oaZOhrIaG4OlTj3f2VlZWeOGFF+54bMmSJXoPiFiucH8XONlb\n4WxODeaMD4ZIaLnT5ypVKk475d3N2kqAAV5iFFe3QK5QWfR7Y2lyS/TTXt8tOtANJ7OqcaXwBq2R\noUf0jSVGQ8DnY0SkF9o6FBY/HOfIhQqU1UrwWHQ/9Th3rgX5OEGhZCipbuU6FGJAt9av10+yjxzk\nCh4PuELt9npFyZ4Yle5e+aeyqjiOhDvNbTLs/a0IdtZCPD0mkOtw1IJ9u9vtaby9pVCqVMgva4KX\nq53eVle0txEh8ObqipJ2GumlL5TsiVEZ4CmGr4cYVwrrLfaLv+dwAdo7lZg5OgCOHHbKu1t3j3xq\nt7ccxdWt6JApEe6n3yGfMQFuYAzIuk539/qiMdn/9ttvmDlzJiZMmIDx48dj3LhxGD9+vCFiIxZq\nZJQ3lCqGszk1XIdicHmljTidXY2BXg4YE8ttp7y7uTrawNXRGgUVzTQ80kLoeorcnqiH4BXSeHt9\n0bjq3bp167B8+XIEBwfTykTEIEZEeuGrowU4lVWNcXH6Xa/dmCiUKuw4cLNT3sQQ8PnG930L8nHC\n2Zxa1Da2w8vVjutwiJ51J/tQPbXXd/PzEsNJbIWs6/U0BE9PNN7Zu7i4YOzYsfD19YWPj4/6HyH6\n4iy2RqS/K4oqW1DdYDkrrR0+X46KujaMGtwPgf2No1Pe3YJ9u6pzaX1786dQqnCtohn93e31PscD\n7+YQvFapnDqA6onGZB8fH4/169fjxIkTyMjIUP8jRJ8sbcx9Y2sn9p24DnsbIWaNNp5OeXdTt9tT\nJz2zV1TZAplchXA939V3i7lZlW/pI3H0RWM1/pUrVwAAV69eVT/G4/HwxRdf6C8qYvGGhHjA2kqA\n01nVeCpxkNlX6311pAAdMiUWTgqFg53xdMq7m6+nPaxFAhRUtHAdCtEz9ZC7gYZZjyHC3xV8Hg9X\nCusx/bFBBjmnJdGY7FNTUw0RByF3sBYJ8EioJ05kVuFaWZPe2wy5lFvSiDNXazConwNGxfTnOpxe\nCfh8BPR3RE5JIyTtcohtRVyHRPQkt6QRPOi/vb6bnY0QQb5OuFbWhBapDI5GfNFrijQm+3PnzuHT\nTz+FVCoFYwwqlQqVlZU4fPiwIeIjFiwhyhsnMqtwKqvabJN9d6c8HrpmyjPGTnl3C/Z1Qk5JIwor\nmjE4yJ3rcIgeyBVKFFS0wNdTbNALuphAN+SXNSG7qAEJN5vyiG5obLNfuXIlJkyYAKVSifnz52Pg\nwIGYMGGCIWIjFi7UzxmujtY4l1cLmVzJdTh6cfBcOSpvtGH0EB8M6ufIdTha6Z7Rr6CCOumZq8KK\nFiiUKr3NmtcTWgVPfzQmexsbG8yaNQvDhg2Do6Mj1q1bRx30iEHweTwkRHqjvVOJSwU3uA5H5xpa\nOvDdiesQ24owc1QA1+FoLaCfE3igyXXMmaHb67v5etjDxcEamUX1UKloLgdd0pjsra2t0dTUhEGD\nBuHy5cvg8XiQSi1nOBThljn3yk87XIBOuRJPjwk0qbZvOxshfDzEuF7VdfdHzE9uSSN4PCB0gGGT\nffcQvLYOBa5XUSdQXdKY7J999lksWbIEY8eOxb59+zBlyhRERUUZIjZC0M/NHoP6OSCrqAHNkk6u\nw9GZ7OIGZOTWIrC/Ix6L6cd1OA8s2NcJMoUKpbQsqdnplCtRWNkCPy8H2NkY/iI0mobg6YXGZD95\n8mR89tlnEIvF+Pbbb/HXv/4Vf/3rXw0RGyEAuhbHUTGG9KvmMX2uXKHCzl/zwePd7JRngsMKb423\np6p8c1NQ0QylihlsfP3dIvxdIODzaBU8HdOY7Jubm7Fq1SosXLgQnZ2dSE1NRWsrzXBEDGdYuCcE\nfB5OZZtHVf53xwtR3SDF2CE+Jrt+t7qTXjlNrmNubs2Hb9gq/G621kIE+zqhpLoVzW0yTmIwRxqT\n/apVqxAdHY2mpibY29vD09MT//d//2eI2AgBADjYWSE6wA2lNRKU15p2tXF9cwe+PJAHBzvT6pR3\nN3cnGziJrXCNFsUxO7mljeDzeOqpkbkQE9g1pDOL7u51RmOyLy8vR3JyMvh8PqysrLBkyRJUV5vH\nHRYxHeqOeiZ8d9/SJsPWb66gU6bEM2ODOGkP1RUej4dgHyc0S2S40dzBdThERzpkChRXtcK/nwNs\nrTVOw6I30QGuAGgIni5pTPYCgQCtra3qFe+Ki4vB52vcjRCdGhzkDjtrIc5kV5vkkJyGlg5s2HkB\npbUSTE7wV1+8mDJqtzc/18q72usNPb7+bv3d7eHmaI2sogYoVTTiQxc0Zu0//vGPSElJQWVlJX7/\n+99j3rx5eO211zQeWKVS4e2330ZycjJSUlJQUlJyx/bDhw9j1qxZSE5Oxp49ewAAMpkMS5cuxTPP\nPIPFixejuLgYAFBSUoK5c+di3rx5WL16NVT05lsckZCPYeGeaJLIkHOzTdFU1DZKsWHnBVQ3SDFp\nuB9emRVjFstFB92s5qXx9uaD6/b6bjweD9GB7pB2KlBUSUPwdEFjsh81ahQ+++wzbNy4EbNmzcL3\n33+PMWPGaDzwwYMHIZPJkJaWhqVLl2LDhg3qbXK5HOvXr8dnn32G1NRUpKWl4caNG9izZw/s7Oyw\nZ88erFy5EmvXrgUArF+/Hq+99hp27doFxhgOHTr08K+YmKyRUV1D1E5lVXEcifYq6iRYv/MCbjR3\nYEbiIMweE2gWiR7oWoPcSsin5W7NSE5JIwR8HoJ9uE32wK2qfBqCpxs9Nsrs27fvvo+fOHECAPDU\nU0/1euDz588jMTERABAbG4usrCz1tsLCQvj5+cHJqasaMD4+HhkZGSgoKMCoUaMAAAEBASgsLAQA\nZGdnY9iwYQC6Lj5OnjyJpKQkrV4gMR+BPo7wdLbF+fw6pMgUsLHirk1RG8XVLXg/7TIk7XLMHR+M\npEcGcB2STgkFfAzq54j8siZIOxSwszHu94P0TtqhQElNKwJ9nGBtJeA6HIQPdIFQwENmYb1RL/ts\nKnr8di5fvhxubm5ISEiASHRvRyJNyV4ikUAsFqv/FggEUCgUEAqFkEgkcHC4NeTI3t4eEokE4eHh\nOHLkCCZMmIDLly+jpqYGSqUSjDH13ZC9vb3GoX8uLnYQCnX/YfXwMM1hUoamz3KaMMwPu37Nw7Wq\nVowb6qe38/RVdlE9Nn95Ce2dCvzpmVgkDR94x3Zz+SzFhHggr6wJ9VI5Bg7QfTuvuZSTvuminM5m\nV4MxID7My2jKPSrAHZeu1YFvJYSbk22fj2csr4sLPSb7vXv34scff8TJkycRFhaGJ554AiNHjtS6\nc55YLEZbW5v6b5VKBaFQeN9tbW1tcHBwwIQJE1BYWIh58+YhLi4OkZGREAgEd5yzra0Njo69LxjS\n2Kj76Xw9PBxQV0fzC2ii73KKCXDFLgA/nypG9EDjXAkv63o9tn2TCaWK4aUnIxEb4HpHmZjTZ6m/\nS9cP8PnsKgxw7fuP8e3MqZz0SVfllJ5ZCQDwc7czmnIPG+CES9fqcCyjFImD+7b8syV8nnq7mOkx\nc4eHh2Pp0qX49ttvMXfuXJw8eRJPP/003n77baSnp2s8aVxcHI4fPw4AuHTpEkJCQtTbAgMDUVJS\ngqamJshkMpw7dw5DhgxBZmYmEhISsHv3bkyaNAkDBnRVe0ZERKjPefz4cQwdOlS7V07MjqezLYJ8\nnZBb0oiGFuMb8nU+rw4ffH0FKga8OjMaw8K9uA5JrwJv9sindnvTl1vSCKGAp35PjUF0IK2Cpyta\nNbJFR0cjOjoa586dw+bNm7F//35cvHix132SkpJw8uRJzJkzB4wxvPfee9i/fz+kUimSk5OxfPly\nPP/882CMYdasWfDy8oJIJMKWLVvw8ccfw8HBAe+++y4AYNmyZVi1ahXef/99BAQEYOLEiX1/5cRk\njYzyRkF5M85crcETIwZq3sFATmdV49MfciAS8vGnp2MQbqQ1D7okthWhn5sdiqpaoFSpIKBhuSZJ\n0i5HWa0EoX7OsBJx317fzdvVDu5ONsguboBCqYJQQJ+vh9VrsmeMISMjAz///DOOHz+O8PBwpKSk\nYOzYsRoPzOfzsWbNmjseCwy81cli3LhxGDdu3B3bXV1d8fnnn99zrEGDBmHHjh0az0kswyNhnth1\n4BpOZVVj8nA/o+jdfuRiBXb8kgdbayGWPDPYqO6O9C3Y1wnHL1ehvLbNZKf/tXR5pU1gAOfj6+/G\n4/EQE+iGwxcqUFjRjFAji8+U9JjsV69ejd9++w0RERGYPHkyXn/9ddjZ2RkyNkLuy95GhNggN5zL\nq0NpjYTzBPNTegm+OlIIBzsRlibHws/LshJekI8zjl+uQkFFM+fvBXk4t9avN75kGh3QleyvFNVT\nsu+DHpN9WloanJ2dcfXqVVy9ehXvv//+HdtprDvh0siofjiXV4eTWVWcJRjGGPb+dh3/O1UMFwdr\nvD4nFv3c7DmJhUvBvt3t9k0YH+/LcTTkYeSWNsJK2DWU0tiEDXSBUMBHZmE9Zo8J4jock9Vjsqdk\nToxZVIArxLYipF+twTNjgwzelscYw+5D13DwXDk8nW3x+pxYuDvrtje6qfB0sYWDnQiFNG2uSWqR\nylBR14YIfxeIhMbXJm4tEiDMzxlZ1xvQ0NIBV0cbrkMyST2+sz4+Pr3+I4RLQgEfwyO80CqVI/t6\ng0HPrVIxfP5TLg6eK4ePuz2WL4iz2EQPdLWrBvk4ob6l0yhHSJDe5ZV2LVNsbO31tzO3XvnF1S1Y\n/dlZFFYa7gLZ+C7jCNGSeiW8LMOthKdQqvDP77Px25Wu5oM35g2Bs9jaYOc3Vur17enu3uTcmg/f\neJN9TEB3sjfshb0+dMgU+Pi7bJTXSsA3YOdiSvbEZPl7O6Cfmx0uXrsBaYdc7+eTyZXY9m0mMnJr\nEeLrhDfmDoGDnZXez2sKuudSp/H2pie3tBHWIgH8jbhzpZerHTxdbNVD8EzZl4cKUNvYjonD/Qza\nR4KSPTFZPB4PI6O8oVCqcC6vTq/nau9U4B9fXcaVwnpEDnLFkuRYTtf7NjYDvcUQCnh0Z29imiSd\nqHN+1gkAACAASURBVKqXIniAk9GPYY8OcEOnTIlrZU1ch/LQLubX4fjlSgzwFGNGYoBBz23c7y4h\nGiREeoMH4FSm/lbCa+uQ429pl5Bb2oS4EA/8aVYMrI1o4hFjIBIK4O/tiLIaCTpkCq7DIVrqHnIX\nbsTt9d1iAk27Kr9Z0on//JQLkZCPF6dFGLwzJCV7YtJcHW0QNtAF+eXNqGtq1/nxm9tk2LjzIooq\nW5AQ6Y1Xnoo0yh7LxiDI1wkqxnCd1h83GbklNzvnGXF7fbfQAc6wEvJxxQQ76THG8OmPOZC0yzF7\nTCB8PMSad9Ix+tUiJq+7o97pbN121Gto6cCGnRdQXifB2CE+eH5qOE0H24ug7nnyqSrfZOSWNMLW\nWgA/L8MnnwdlJRIgbKALKm+04Uaz7i/s9enwhQpkFTUgapArxnE0FwX9chGTFxfiASshH6eyqsEY\n08kxaxqlWL/jAmoapJg83A8LHg8xaM9ZU9Sd7Knd3jQ0tHSgtqkdIb7OJnMRG22CvfIrb7Rhz5EC\niG1FWDwlnLPfEdN4hwnpha21EHGhHqhtbEehDqqQy+sk2LDjAupbOjBzVACeHhNoFPPvGztHeyt4\nudiisKIFKh1ddBH9yTGBIXd3U4+3LzSNqnyFUoVP9mdDrlBh0aQwTofpUrInZkFdld/HMffXq1qw\ncecFNLfJMHdCMKaO9KdE/wCCfJ3Q3qlAZV0b16EQDdTz4ZtA57xuns628Ha1w9WSBsgVxj8Eb+9v\nRSitkSAxph/iQz04jYWSPTELEQNd4SS2wtmcmof+Ecgva8Jfd1+EtFOB5yaHIWnoAB1Haf6oKt90\n5JY0wd5GiAEm0F5/u+gAN8jkKuQb+RC8vNJG/HymFJ7Otpg7IZjrcCjZE/PA5/OQEOGNtg4FrhTe\neOD9s4rq8X7aJcgVKrz0ZCQSB/fXQ5TmL8iXJtcxBXVN7ahv6UDIAGeT64sSYwJT50o75PjX/66C\nx+PhhWkRsLHifk4OSvbEbDzs9Lnn82qx5esrYABenRmNYeFeeojOMvRzs4O9jRAFFcZ912XpTGGK\n3J6EDHCGlYiPK0bcbr/j13w0tHRi2qP+CLxZ28U1SvbEbPh6ijHAU4wrhfVolcq02udkZhU+3JcF\noZCPJbMHY3CQu56jNG98Hg+BPk6oa+pAs6ST63BID0xpMp27iYR8RAx0RXWDFLV6mFujr85kV+PM\n1RoE9HfE1JEDuQ5HjZI9MSsjo7yhVDGczanV+NzDF8rx6Q85sLUS4vU5sSZ5l2OMqN3euDHGkFva\nBAc7Efp72HMdzkMx1l75N5rbkfprPqxFArwwLcKohjQaTySE6MCICC/weJon2PnxTAl2/JoPRzsR\nls2PQ2B/46hqMwfBN1fAo3Z741Tb2I7G1k6E+rmYXHt9t+gAVwDG1W6vUjF8+r8ctHcqMG9CMLxc\n7LgO6Q6U7IlZcRJbI3KQK4oqW1BVf+/wL8YYvjlWiK+PFsLFwRrL5sdhgKdp9UY2dv79HCHg06I4\nxipHXYXvzHEkD8/dyRb93e2RW9IImVzJdTgAgF/OliKvrGv9jMdi+nEdzj0o2ROz09P0uSrGsPvg\nNfxwugSezrZYsSAO/dxMsxrTmFmLuqZfLaluNZofYnKLKXfOu110gCtkChXyjGAIXkl1K/5/e3ce\nFeV97gH8OwszwDAzrMomyKoIGrd4NYpbrjFu156gYrBoEm5Mbq2eemyPxtTE1kRN76knaW5OrLdp\nbcyiaeKtGm0at4TEqFFToqwKIsoi+zYDzPreP5ABFUEThnd45/v5C+aFmWeeM/C8v/f3e3/P/syr\n0PuosOLxYS65NweLPUnOmLggeKoUOJ1d6djJzW4XsPtIPo5dKEVYoAYbfjoWgXovkSOVrtgwX9js\nAq7dbBY7FOqiY75er1Eh2N+1LjM/qFHRrjFvb7LYsOtQDmx2ARlzE6D1Vokaz72w2JPkqD0UGD9s\nEGqb2nDlRgOsNjt2HszB15cqMDRYi/XLxoq6baU76Jy3F3/URZ0qalvQZDRjeKSfS44+H0TcEF+o\nVQrRu+B9fLIIFbUt+Pdx4Ui6dQLiiljsSZI6LuV/kVWO/9l/CefzqxAfrsevnhwDHy8PkaOTvo57\niwu5SM+ldG6RO3Dn6zsoFXKMiPRDVX0rKutaRInhYlEtjn/XfrVw0fQYUWK4Xyz2JEnxEb4I0Klx\nNrcSF4tqkRTlj7Wpo+GlFn8nK3fgp1UjUO+JwrJGNsVxIVKZr+/QsZueGKP7phYz/nwkD0pF+y55\nKg9Fv8fwIFjsSZLkMhkmj2xfETsuPgirU0ZB7eJ/jFITG66Hsc0q2qiLbme/NV/vp1VjkK801qt0\ntrzt32IvCAL++o98NBnNeGJqDCIGa/v19X8IDnNIshZMHophQ3wRHzFw+nVLSVyYHmdyKnGltJF3\nPbiAsmojDK0WTEoMHvDz9R38dZ4ID9Igv6QBJout307oM78vx7+u1GB4hC8emzAwGmbxPyBJlkIu\nR8JQfxZ6kXQ0xeG8vWvovIQ/8OfruxoZHQCrze54f85WWdeCD49fgbdaif+cP2LAbEzE/4JE5BRh\ngRp4qRW4ws11XMJA3g+/J/3ZBc9qs2PXoVyYLXYsf3wY/HWeTn/NvsJiT0ROIZfLEB2qR2Vdy303\nJiLnsNsFFFxvQKDeE4ESma/vEBOmh5dagYtFtRCcvBj00KlrKK5owqTEwQOuOyaLPRE5TRyb4riE\nG1UGtJisGC6xUT1w6xa8of6oaWzDTScuBi0sbcSnp68hQOeJZbOGOe11nIXFnoicJiac99u7gjyJ\nztd3cPZueq0mK3YdygEE4NkFI+DtOfDWtrPYE5HTRIfoIJNxZC+2zs10pDeyB+DYuc5Z8/YfHLuM\nmsY2zJ0UifghA/OEicWeiJzGS63EkEE+KK5ohsVqFzsct2Sz23H5RgMG+XkNqAVlD8JPq0bEIB8U\n3GhAm9nap899Pr8Kpy7dRGSwFgunRPXpc/cnFnsicqq4MF9YbXaUVLIpjhhKbhrQZrZJdlTfYWRM\nAKw2wTFl0Rfqm03462f5UCnlWLlgBJSKgVsyB27kRDQgxITrAHDeXiyOS/gSna/v0LmbXl2fPJ9d\nEPDO4VwY26xInRk74DeGYrEnIqeKC7u1uQ7n7UXRsdmM1O6vv1NMmA7eaiUuFdX0yS14x86XIvda\nPUbFBGD6mLA+iFBcTiv2drsdL730ElJTU5Geno6SkpLbjp84cQIpKSlITU3FRx99BACwWCxYt24d\nli5dirS0NBQVFQEAcnNzkZycjPT0dKSnp+PIkSPOCpuI+liA3hN+WjUKSxucfh803c5qs9/artgb\neom3dVbI5UiM8kdtkwnltT/uFrzSKgM+/qIIWm8PPD03QRLbCzvt/oFjx47BbDZj3759yMrKwvbt\n2/H2228DaC/q27Ztw8cffwwvLy88+eSTmDlzJrKysmC1WrF3716cOnUKr7/+Ot58803k5OTg6aef\nxjPPPOOscInIieLC9fg2rwpVDa0Y7Octdjhu41pFM0wWm2S63PVmVEwAzuVX4VJRLcICf9hld4vV\nhl2HcmC12fH0nCToNao+jlIcThvZX7hwAcnJyQCA0aNHIzs723GsqKgIERER0Ov1UKlUGDduHM6d\nO4eoqCjYbDbY7XYYDAYole3nItnZ2fjiiy+wbNkybNy4EQaDwVlhE5ETsL+9OPIkukXuvfTFLXif\nfHkVpdVGTB8ditFxgX0VmuicNrI3GAzw8fFxfK9QKGC1WqFUKmEwGKDVdrYE1Gg0MBgM8Pb2RllZ\nGebMmYP6+nrs3LkTADBq1CgsXrwYSUlJePvtt/HWW29h/fr193xtPz9vKJV93/0oKMj12xi6Auap\nd+6WowlJofjw2BWU1rY80Ht3tzz9UPfK09WKJgDAI2PCJX8ZHwCCgtpbK18pbYBG6wlvT487jvf8\nefr+cjU+P3cDYUEarFoyBp7qgbd5zr047Z34+PjAaDQ6vrfb7Y6R+p3HjEYjtFotdu/ejSlTpmDd\nunWoqKjAihUrcOjQIcyaNQs6XfuK3lmzZmHLli09vnZ9fd9vmRgUpEV1NW8d6g3z1Dt3zJGPSgaV\nhxzZhTX3/d7dMU8/xL3yZLHakVtch/AgDcytZlS3ukd/guERfigsbUTm+RsYNyzI8XhvnydDqwW/\n/+ACFHIZnpmbgOamVgy0T19PJzNOu4w/duxYZGZmAgCysrIQHx/vOBYTE4OSkhI0NDTAbDbj/Pnz\nGDNmDHQ6nWPEr9frYbVaYbPZkJGRgYsXLwIATp8+jcTERGeFTUROoJDLER2iQ1mNEcY2i9jhuIWr\n5Y2wWO2Sv7/+Tj+kC54gCHj3s3zUN5vwH1OiEBWic1Z4onHayH7WrFk4deoUli5dCkEQsHXrVhw6\ndAgtLS1ITU3Fhg0bkJGRAUEQkJKSgsGDB+Opp57Cxo0bkZaWBovFgrVr18Lb2xubN2/Gli1b4OHh\ngcDAwF5H9kTkemLDfZF/vQFFZY0YFSOduVBX1bkfvnsV++gQHTSeSly62t4F735W0n+TfRPnC6oR\nG67HvImR/RBl/3NasZfL5fjtb39722MxMTGOr2fOnImZM2fedlyj0eCNN96467kSExOxd+9e5wRK\nRP0iLryzAx6LvfPlX2+ADMCwCGlvpnMnuVyGpOgAnM2tRFm1EeGDfHr8+eqGVrx/9DI8VQo8O38E\n5PKBf5tdd7ipDhH1i5hQHWTgivz+YLbYcLW8EUMG+0BzxyI1d9DRBe9iL5fybXY7/vfTXLSZbVg2\nKx5Bvl79EZ4oWOyJqF94e3ogNEiDq+VNsNrYFMeZCssaYbUJbjdf3yEx2h8y9N7y9siZ6ygsbcTD\nwwfhkaTg/glOJCz2RNRv4sL0MFvtuFHFvTKcqXM/fPcs9jpvFYaG6HCltBEtbd13wSuuaMLBr4vh\np1UjffYwSeyS1xMWeyLqN7Hh3FynP+SXNEAmA+LD3Wu+vquR0f6wCwJyr93dGMdktmHXwRzY7AIy\n5iXAx0v6Ux0s9kTUb2JvFZ8rbIrjNG1mK4ormjA0WAtvT+lsCvOgOhaBdjdvv+/EFVTWt2L2hCEY\nMdS/v0MTBYs9EfWbIL0ndBoVm+I4UWFpI2x2952v7zA0RAsfLw/HLXgd/nWlGl9klSM8SIMnpsb0\n8AzSwmJPRP1GJpMhLkyPBoMZtU1tYocjSXluPl/fQS6TYWS0PxoNZscakUaDCX85kg+lQo6V/5EI\nD6X7lED3eadE5BI4b+9c+SUNUMhljn0N3NnIW7vpXSxqH93/5R/5MLRasHh6DMKDer7/XmpY7Imo\nX8Xe6oDHefu+12qyouRmM4aGaOGpct/5+g5JUQGQydq3zj3yzTVcLKpF4lA/PDo+XOzQ+h0/DUTU\nryKDtfBQyjmyd4LLNxpgFzhf38HHywPRoToUljWi5FAONJ5KPDNvBOQSv82uOxzZE1G/UirkiArW\norTagFZT9/dA0w/j7vfXd2dkdAAEoX1XwRWPD4efVvqtfrvDYk9E/S423BeCAFwtbxI7FEnJL2mA\nUiFzTJUQMDY+CDIZMGtCBMYPHyR2OKJhsSeifueYty9tEDkS6TC2WXC9shnRoXqoPRRih+MywoN8\n8N//9Qh+vni02KGIisWeiPpdbJcOeNQ3Cq43QAAw3M263N0Pf52nZLvZ3S8WeyLqdz5eHggJ8EZR\neRPsdm6u0xfyb/WvT+B8PXWDxZ6IRBEbpofJbENpNZvi9IX86/XwUMoRHcr5erobiz0RiaJz3p6X\n8n+sphYzSquNiA3Tu9WucHT/+KkgIlF0zNsXcd7+R7t8vX2hI+fr6V5Y7IlIFMH+3vDx8uDIvg9w\nP3zqDYs9EYlCJmu/H7y2qQ31zSaxw+mRIAg4n1+Fz7+9jss3GmCy2MQO6Tb5JfVQecgRFaITOxRy\nUdwul4hEExuuR1ZhDa6UNmBCwmCxw+lWXVMbdn+Wj+yrdY7H5DIZwoI0iArRITpUh6gQHUIDvaGQ\n9//4qb6pDRW1LUiM8odSwfEbdY/FnohE07FIr7Cs0eWKvSAI+Cb7Jj44dgWtJisSh/rhkaQQlFQ2\n42pFE0puNuNGlQGZ35cDAFQecgwdrEXUreIfHaJDgN4TMifvw36pqAYA5+upZyz2RCSaqBAtFHKZ\nyzXFaTCY8O5nBcgqrIFapcDyx4dh2kOhkMlkmJQUDACw2uworzHiakUTisubUFzRhCtljbjc5b1o\nvT0chb/jJMDHy6NPY71YeKvYc76eesBiT0Si8VAqMDRYi+KKZpjMNqhV4m7zKggCzuZW4v2jl2Fs\ns2J4hC+emZuAQF+vu35WqZAjYrAWEYO1mD46DADQZm5vMVtc0ew4CbhYVIuLRbWO3xvk63Xb6D9i\nsA9UP2J720uFNfBUteeR6F5Y7IlIVLHhehSVN+FqRZOou781Gc3Y888CXLhcDZWHHMtmxWPG2LAH\naofqqVJiWIQfhnVpMdtoNKO4y+i/uKIJZ3MrcTa3EgCgkLfP/0eHtJ8ARIXqEBqgua/tXeubTSiv\nMWJUTIAo6wVo4GCxJyJRxYb54p+4gcKyRtGK/bn8Kuz5ZwEMrRbEh+vxzLwEDPLz7pPn1mtUGB0b\niNGxgQDarx5UNbSi+NYJTnFFE0puGnC90oAvstrn/9Ue7SP1qFCd4yTAX6e+a/6/Y4tc9q+n3rDY\nE5GoHE1xRJi3b24x4/2jl/FtXhU8lHIsfTQO/z4+/IFG8w9KJpNhsJ83Bvt5Y2Ji5/x/WfXt8/+X\nbzSg4EZnV0CdRnWr8LefBAwN1nW5v56L86hnLPZEJCq9RoVBvl4oKmuEXRCcWmi7+u5yNd79LB9N\nLRbEhOmQMW8Egv37ZjT/oJQKOSKDtYgM1mLGmPb5/1ZTx/x/5xWArMIaZN1akAe03wKo8fJAxCDO\n11PPWOyJSHSx4Xp8k30T5TVGhAf5OPW1DK0WfHDsMs7kVEKpkGPJjFg89vAQl2uB6qVWYnik322r\n7BsMJse8f3F5E0oqDZjpgrGT62GxJyLRdRT7wrJGpxb7rMIa/PUf+Wg0mhEVokXGvBEIDdQ47fX6\nmq+PGmPigjAmLsjxWFCQFtXVzSJGRQMBiz0Ric6xuU5po+M2tr7U0mbBh8ev4NSlm1DIZUiZFo3H\n/y2CK9jJbbDYE5HoQgM18FYrnbJI79LVWuz+Rz7qm02IHKxFxrwEhA9y7lQBkathsSci0cllMsSE\n6XHpai0ajWboNaof/ZytJiv2nShE5vflUMhl+MmUKMydFMn948ktsdgTkUuIDW8v9oWljRg3LKj3\nX+hB7rU6/OVIHmqbTAgP8sF/zk9AxGCuWCf3xWJPRC6hsylOww8u9m1mK/52sggn/1UGuUyGBY8M\nxYLJQzmaJ7fHYk9ELiE6RAe57Ic3xSm4Xo93DuehprENoYEaZMxLYH93oltY7InIJahVCkQM9sG1\nm82wWG33/Xsmsw2ffFmEYxdKIZMBcydGYuGUKHgoOZon6uC0Ym+327F582YUFBRApVLhlVdeQWRk\npOP4iRMn8NZbb0GpVCIlJQVLliyBxWLBhg0bUFZWBrlcji1btiAmJgYlJSXYsGEDZDIZ4uLi8PLL\nL0POW2aIJCc2XI9rt7rGhYb0vgXsldIGvHM4D1X1rQj290bG/ATEhOr7IVKigcVpFfPYsWMwm83Y\nt28f1q1bh+3btzuOWSwWbNu2DX/+85+xZ88e7Nu3DzU1Nfjyyy9htVqxd+9erFq1Cq+//joAYNu2\nbfjFL36BDz74AIIg4Pjx484Km4hE1Dlv3/OlfLPFhn0nrmD7e9+hur4VsycMweanH2ahJ7oHp43s\nL1y4gOTkZADA6NGjkZ2d7ThWVFSEiIgI6PXtf5jjxo3DuXPnEB8fD5vNBrvdDoPBAKWyPbycnBxM\nmDABADB16lScOnUKs2bNclboRCSSuPD20XxP8/ZF5Y1459M83KxrwSA/L2TMS3D8HhF1z2nF3mAw\nwMenc+MKhUIBq9UKpVIJg8EArbbzNhiNRgODwQBvb2+UlZVhzpw5qK+vx86dOwG0t4TsaO2o0WjQ\n3Nzz1pB+ft5QKhV9/p6Cgnjrzv1gnnrHHHUvKEiLQX5eKCpvgiAIt+XJbLHhg3/m4/++KIRdABYk\nR2P53AR4qrj0iJ+n++POeXLaX4mPjw+MRqPje7vd7hip33nMaDRCq9Vi9+7dmDJlCtatW4eKigqs\nWLEChw4dum1+3mg0QqfreYVtfX1LH78b7j99v5in3jFHPYsK0eFsbiXKqg1Q3+rvUlzRhHcO56G8\nxohAvScy5iVgWIQfmhtb4e6Z5Ofp/rhDnno6mXHanP3YsWORmZkJAMjKykJ8fLzjWMeiu4aGBpjN\nZpw/fx5jxoyBTqdzjPj1ej2sVitsNhtGjBiBs2fPAgAyMzMxfvx4Z4VNRCLrmLfPK66D1WbH/syr\nePXdCyivMWLG2DD8NmMChkX49fIsRNSVTBAEwRlP3LEa//LlyxAEAVu3bkVubi5aWlqQmprqWI0v\nCAJSUlKwbNkyGI1GbNy4EdXV1bBYLFi+fDkWLFiA4uJibNq0CRaLBdHR0XjllVegUNz7Mr0zzt7c\n4aywLzBPvWOOena9shmb/3IOD8UForahDaXVBgTo1Hh6bgJGDPUXOzyXw8/T/XGHPPU0sndasRcT\ni714mKfeMUc9s9sFrHo9EyZz+73200aHYsmMWHipOTffHX6e7o875KmnYs+/HiJyKXK5DJMSg3H5\nRgOWzoxFUnSA2CERDXgs9kTkcpbPHuYWIzGi/sJt6IiIiCSOxZ6IiEjiWOyJiIgkjsWeiIhI4ljs\niYiIJI7FnoiISOJY7ImIiCSOxZ6IiEjiWOyJiIgkjsWeiIhI4ljsiYiIJI7FnoiISOIk2eKWiIiI\nOnFkT0REJHEs9kRERBLHYk9ERCRxLPZEREQSx2JPREQkcSz2REREEsdifw+1tbWYNm0aioqKUFJS\ngieffBJpaWl4+eWXYbfbxQ7PJfzxj39EamoqnnjiCfztb39jnrphsViwbt06LF26FGlpafw8deP7\n779Heno6ANwzNx999BGeeOIJLFmyBCdPnhQzXNF0zVNeXh7S0tKQnp6OjIwM1NTUAGCeuuaow6FD\nh5Camur43m1zJNBdzGaz8LOf/Ux47LHHhMLCQuG5554Tzpw5IwiCIGzatEn4/PPPRY5QfGfOnBGe\ne+45wWazCQaDQfjDH/7APHXj6NGjwpo1awRBEISvv/5a+PnPf848dbFr1y5h/vz5wuLFiwVBELrN\nTVVVlTB//nzBZDIJTU1Njq/dyZ15WrZsmZCbmysIgiB8+OGHwtatW90+T3fmSBAEIScnR1i+fLnj\nMXfOEUf23XjttdewdOlSDBo0CACQk5ODCRMmAACmTp2Kb775RszwXMLXX3+N+Ph4rFq1Cs8//zym\nT5/OPHUjKioKNpsNdrsdBoMBSqWSeeoiIiICb775puP77nJz8eJFjBkzBiqVClqtFhEREcjPzxcr\nZFHcmacdO3YgISEBAGCz2aBWq90+T3fmqL6+Hjt27MDGjRsdj7lzjljs77B//374+/sjOTnZ8Zgg\nCJDJZAAAjUaD5uZmscJzGfX19cjOzsYbb7yB3/zmN/jlL3/JPHXD29sbZWVlmDNnDjZt2oT09HTm\nqYvZs2dDqVQ6vu8uNwaDAVqt1vEzGo0GBoOh32MV05156hiIfPfdd3jvvffw1FNPuX2euubIZrPh\nxRdfxAsvvACNRuP4GXfOkbL3H3Evn3zyCWQyGU6fPo28vDysX78edXV1juNGoxE6nU7ECF2Dr68v\noqOjoVKpEB0dDbVajZs3bzqOM0/tdu/ejSlTpmDdunWoqKjAihUrYLFYHMeZp9vJ5Z3jj47c+Pj4\nwGg03vZ413/Y7urIkSN4++23sWvXLvj7+zNPXeTk5KCkpASbN2+GyWRCYWEhXn31VUycONFtc8SR\n/R3ef/99vPfee9izZw8SEhLw2muvYerUqTh79iwAIDMzE+PHjxc5SvGNGzcOX331FQRBQGVlJVpb\nWzFp0iTm6Q46nc7xz0Sv18NqtWLEiBHM0z10l5tRo0bhwoULMJlMaG5uRlFREeLj40WOVFwHDhxw\n/J8aMmQIADBPXYwaNQqHDx/Gnj17sGPHDsTGxuLFF1906xxxZH8f1q9fj02bNmHHjh2Ijo7G7Nmz\nxQ5JdDNmzMC5c+ewaNEiCIKAl156CeHh4czTHZ566ils3LgRaWlpsFgsWLt2LZKSkpine+jub02h\nUCA9PR1paWkQBAFr166FWq0WO1TR2Gw2vPrqqwgJCcHq1asBAA8//DDWrFnDPPUiKCjIbXPErndE\nREQSx8v4REREEsdiT0REJHEs9kRERBLHYk9ERCRxLPZEREQSx2JPRCgtLUVSUhIWLlyIhQsXYvbs\n2VizZo2jwUp/e+GFF1BWVibKaxNJEYs9EQFo34L1wIEDOHDgAD777DNERkZizZo1osRy9uxZ8K5g\nor7DTXWI6C4ymQyrV6/G5MmT8e677+LgwYOw2+2Ii4vD5s2b8etf/xoFBQWQyWTIyMjAT37yE+zf\nvx+ff/45GhsbUVtbixkzZmDDhg2QyWTYuXMnDh48CIVCgcmTJ+NXv/oVKioqsHz5cpw4cQIAHE1M\n1Go1qqqqsHLlSrz//vvw8/MTMxVEksBiT0TdUqlUiIyMRGBgIK5du4aTJ09Cq9Xid7/7Hfz8/PDp\np5+irq4OixcvxvDhwwEA2dnZ+Pvf/w6dTofly5fj6NGjUKvVOHHiBPbv3w+lUonVq1dj7969mDZt\nWrevu3LlSuzduxe7du1ioSfqI7yMT0T3JJPJ4OnpiaioKMce/2fOnMGiRYsAAP7+/nj00Ufx7bff\nAgBmzpyJwMBAqFQqzJ07F2fOnMGZM2cwb948eHp6QqlUIiUlBadPnxbtPRG5IxZ7IuqW2WxGJO6r\nsgAAAXZJREFUcXExamtr4enp6Xj8zrl0QRBgs9kAAAqFwvG43W6HQqGA3W6/67mtVitkMtltz2W1\nWvv6LRDRLSz2RHQXu92ON998Ew899BAiIiJuOzZx4kR8/PHHAIC6ujocP34cEyZMANDeqa65uRkm\nkwmHDx/G1KlTMXHiRBw+fBhtbW2wWq345JNPMHHiROh0OjQ2NqKurg5msxlfffWV4zUUCoXjBIKI\nfjzO2RMRAKCqqgoLFy4E0F7sExIS8Pvf/x4FBQW3/dyqVauwefNmLFiwADabDc8//zwSExNRUFCA\ngIAAPPvss6ivr8fChQuRnJwMAMjLy0NKSgqsViuSk5Px05/+FEqlEhkZGVi0aBGCg4MxcuRIx2tM\nnz4dK1euxJ/+9CdHC1ci+uHY9Y6I+sT+/fvx7bffYvv27WKHQkR34GV8IiIiiePInoiISOI4sici\nIpI4FnsiIiKJY7EnIiKSOBZ7IiIiiWOxJyIikjgWeyIiIon7f+wbaICRePaLAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23f5a99afd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lists1 = sorted(epochs_test_result.items())\n",
    "x1,y1 = zip(*lists1)\n",
    "plt.plot(x1,y1)\n",
    "\n",
    "plt.title('Finding the best hyperparameter for testing')\n",
    "plt.xlabel('Dropout')\n",
    "plt.ylabel('Mean Square Error')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23f9244bba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lists2 = sorted(epochs_train_result.items())\n",
    "x2,y2 = zip(*lists2)\n",
    "plt.plot(x2,y2)\n",
    "plt.title('Finding the best hyperparameter for training set')\n",
    "plt.xlabel('Dropout')\n",
    "plt.ylabel('Mean Square Error')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. Testing for dropout"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_57 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_57 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_58 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_58 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_57 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_58 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00006 MSE (0.01 RMSE)\n",
      "Test Score: 0.05499 MSE (0.23 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_59 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_59 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_60 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_60 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_59 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_60 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00006 MSE (0.01 RMSE)\n",
      "Test Score: 0.06820 MSE (0.26 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_61 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_61 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_62 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_62 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_61 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_62 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00010 MSE (0.01 RMSE)\n",
      "Test Score: 0.07470 MSE (0.27 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_63 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_63 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_64 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_64 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_63 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_64 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00008 MSE (0.01 RMSE)\n",
      "Test Score: 0.06228 MSE (0.25 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_65 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_65 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_66 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_66 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_65 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_66 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00004 MSE (0.01 RMSE)\n",
      "Test Score: 0.05665 MSE (0.24 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_67 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_67 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_68 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_68 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_67 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_68 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Train Score: 0.00002 MSE (0.00 RMSE)\n",
      "Test Score: 0.06158 MSE (0.25 RMSE)\n",
      "Amount of features = 6\n",
      "Amount of training data = 8252.1\n",
      "Amount of testing data = 916.9000000000001\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "lstm_69 (LSTM)               (None, 22, 256)           269312    \n",
      "_________________________________________________________________\n",
      "dropout_69 (Dropout)         (None, 22, 256)           0         \n",
      "_________________________________________________________________\n",
      "lstm_70 (LSTM)               (None, 256)               525312    \n",
      "_________________________________________________________________\n",
      "dropout_70 (Dropout)         (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense_69 (Dense)             (None, 32)                8224      \n",
      "_________________________________________________________________\n",
      "dense_70 (Dense)             (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 802,881\n",
      "Trainable params: 802,881\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Score: 0.00005 MSE (0.01 RMSE)\n",
      "Test Score: 0.08095 MSE (0.28 RMSE)\n"
     ]
    }
   ],
   "source": [
    "dlist = [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]\n",
    "dropout_train_result = {}\n",
    "dropout_test_result = {}\n",
    "\n",
    "for d in dlist:    \n",
    "    trainScore, testScore = quick_measure(stock_name, seq_len, d, shape, neurons, epochs, decay)\n",
    "    dropout_train_result[d] = trainScore\n",
    "    dropout_test_result[d] = testScore"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0.2: 5.9572113496767877e-05, 0.3: 5.6197788610138269e-05, 0.8: 5.3945750199302703e-05, 0.5: 8.0980384914134515e-05, 0.7: 2.4834409431957606e-05, 0.4: 9.8415648253760715e-05, 0.6: 4.1063131146016772e-05}\n",
      "[0.7]\n"
     ]
    }
   ],
   "source": [
    "min_train_val = min(dropout_train_result.values())\n",
    "min_train_val_key = [k for k, v in dropout_train_result.items() if v == min_train_val]\n",
    "print (dropout_train_result)\n",
    "print (min_train_val_key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0.2: 0.054993211770086925, 0.3: 0.068200290735278807, 0.8: 0.080947121318872522, 0.5: 0.062280740857026833, 0.7: 0.061575942692085855, 0.4: 0.074696727036097324, 0.6: 0.056654321655403565}\n",
      "[0.2]\n"
     ]
    }
   ],
   "source": [
    "min_test_val = min(dropout_test_result.values())\n",
    "min_test_val_key = [k for k, v in dropout_test_result.items() if v == min_test_val]\n",
    "print (dropout_test_result)\n",
    "print (min_test_val_key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfsAAAFlCAYAAADs50HhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVPX+x/HXwICyuyHmAgKKu6KouZJ6M3NfyC21zdt2\n7f5+eVskW/SmZXW9beqt7u/W7UZptqhlpfeqZCgigoqIC6YCKiAo+7DNwHx/f3CZpFRQmZXP8/Hw\n8RDOzDmf+XJm3vP9zJlzNEophRBCCCEclpO1CxBCCCGEeUnYCyGEEA5Owl4IIYRwcBL2QgghhIOT\nsBdCCCEcnIS9EEII4eAk7IXZdevWjcmTJzN16lTTv+effx6AqVOnUlxcfEPrmzRpEvHx8eTk5DBn\nzpxGq/PLL7/ks88+A2DNmjW8/PLLt7S+BQsWsH379sYojZKSEu67776rLouMjOTDDz9slO04mrVr\n17Jz585bWodOp2POnDlMnDiRf//73ze9nhdeeIGUlJSbvv+Vj+Wdd95hy5YtN72uW5WcnMxLL71k\nte2LG6e1dgGiafjXv/5Fq1atfvP7b7755qbX6efnx+eff34rZdVx8OBBunbt2mjra0xFRUUcPXrU\n2mXYnfj4eLp06XJL6zhx4gR5eXns2LHjltazb98+Zs+efdP3v/Kx/O///u8t1XKrTp8+TU5OjlVr\nEDdGwl5YVbdu3YiLi2P37t3s2LEDJycnMjIycHFx4fXXXyckJITTp0+zdOlSysvLCQoKoqysDIAL\nFy4wefJkDh8+zJo1a8jMzOTSpUtkZmbSqlUr3nrrLfz8/EhOTmb58uUYDAb8/f3JysoiMjKS22+/\n3VTHjh07iI6OJjY2lubNmwNw9uxZFixYwKVLl2jTpg1vvvkmbdu2JScnh5dffpns7GwMBgMTJ07k\nscceu+rj27FjB3//+9+pqKhg8uTJPP744wAcOnSI1atXU15ejkaj4Y9//COjR4/m0qVLLFmyhIKC\nAgDuuOMOnnzySZ577jkqKiqYOnUqmzZtwtnZuc52Dh8+zJw5c7h8+TJdu3blr3/9Kzt37mT9+vWm\nN0RZWVnMmjWL6OhoQkNDuf/++4mPj6esrIw//elP3HXXXUBNh2PDhg0YjUZatGjBiy++SHBwMJGR\nkRQWFnL+/HlGjRpFXl4eGo2GM2fOkJ+fz/Dhw3nhhRdwcXHhq6++YuPGjRgMBoqKinj44Ye59957\n2bRpE1999RXl5eV4enrywQcfsHz5ctLT0ykqKsLDw4PVq1cTFBTEggUL6NWrF/v37ycvL4/77ruP\nvLw8Dhw4QHl5OW+//TbdunWjpKSEV155hVOnTmEwGBg6dCjPPvssGzduJCUlhTfeeANnZ2fuuOMO\nVq9eTUJCAtXV1fTs2ZMXXngBT09PxowZQ9++fUlNTeVPf/oTY8eONe0DS5cuJScnh6lTp7Jx40b2\n7t3L2rVrqa6uxtPTk+eee46+ffuyZs0akpKSyM3NpVu3bqxevdr093nrrbfIzc3l6aef5o033iAo\nKOiqNWu1Wt5991127NiBi4sLLVu2ZNWqVezYsaPOY9m1axddu3Zl4cKF9OnTh0ceeYTY2Fhyc3O5\n7777eOCBB6iuruaNN94gOjoaLy8v+vbty5kzZ4iKiqqz71xrn7vWvuDu7s67775LSUkJzz33HKtW\nrbrRp72wBiWEmYWEhKhJkyapKVOmmP5dvnzZtCwvL099/fXXKiwsTGVnZyullHr55ZfVs88+q5RS\naurUqeqLL75QSimVmJiounXrpvbv36/Onz+vQkNDlVJKvfvuu+p3v/udKikpUUop9eijj6p33nlH\nGQwGFR4ernbv3q2UUiouLs50/19bsmSJ+sc//mFa35gxY1ReXp5SSqnHH39crV27Viml1IIFC9Su\nXbuUUkpVVFSoBQsWqO+///4365s/f7569NFHlcFgUCUlJeruu+9Wu3fvVoWFhequu+5S58+fV0op\ndfHiRRUeHq4yMzPV2rVr1YsvvqiUUqq0tFQ9+eSTqri4uM5jvVrd99xzjyorK1NVVVVq+vTpavPm\nzaqyslINHTpU/fzzz0oppd5++221evVq07i/9957SimlTpw4ocLCwlReXp6Kj49X9957ryorK1NK\nKbVnzx41fvx403buv//+OtudNm2a0ul0qrKyUs2bN09FRUUpnU6nZs2apfLz85VSSh0+fNhU+9df\nf60GDRpk+jtt27ZNrVixwrTOF198Ub388sum8XviiSeUUkolJSWpkJAQ07i/8sor6oUXXlBKKRUZ\nGak++eQTpZRSVVVV6umnn1Z///vfTevYtm2bUkqpNWvWqNdee00ZjUallFJ//etf1bJly5RSSo0e\nPdr09/21/fv3q4kTJyqllDp9+rQaNmyYOnfunFJKqX379qnhw4erkpIS9e6776px48Ypg8Fw1fWM\nHj1aJScnX7fmrKwsNWDAAFVZWamUUurDDz9UO3bs+M1juXJfDQkJUVFRUUoppY4ePap69+6tKioq\n1IYNG9S8efNURUWFqqysVA899JCaP3/+b+q61j53vX3h66+/Vo888shVH6ewTTKzFxZxrTb+lXr1\n6kW7du0A6NmzJzt27KCgoIDU1FSmTZsGQFhY2DVb7YMHD8bT09N0/6KiIk6dOgXUzFYAhgwZ0uBW\n/fDhw001d+/enfz8fMrKykhISKCoqIh33nkHgLKyMk6ePMmECRN+s4577rkHrVaLp6cn48aNY9++\nfUDNbGrRokWm22k0GlJTUxk5ciSPPPII2dnZDBs2jKeeegovLy+KioquW+udd96Jm5sbAF27diU/\nPx9XV1dmzpzJF198wZIlS9i8eTOffvqp6T7z5883PbaQkBASEhI4cuQIGRkZdY6FKCoqorCwEKgZ\n/ytNnz4dDw8PoOb4i127djF//nzef/99fvrpJ9LT0zl58qSpGwM13Zzav9Pdd99Np06diIqKIiMj\ngwMHDtC/f3/TbWtn2J06dQJg5MiRAPj7+3PgwAEAdu/ezdGjR/nqq68AqKiouOoY7d69m5KSEtPf\nwGAw0Lp1a9PygQMHXneMAfbv38+QIUNM9QwdOpRWrVqZPosPDQ1Fq63/ZfVaNfv5+dG9e3emT59O\neHg44eHhDB06tN71/e53vwNqnkN6vZ6ysjJ++uknpk6dSrNmzQCYPXv2b2b1wDX3ud27d193XxD2\nRcJe2Iza9jnUhJ9SCo1GA4C64hIO13oxvdr9nZ2d69wX+E0L/Fqu3E7t+oxGI0opPv/8c1O45ufn\nm15Qf+3KbSml0Gq1VFdXExwczJdffmlalpOTQ6tWrXBxcWHXrl3ExcWxf/9+Zs6cybp162jbtu0N\n1wo1L/AzZ85k8ODBdO3alY4dO161NqPRiLOzM0ajkalTp/LMM8+Yfp+bm4uPjw8A7u7u1318Tk5O\nXLx4kdmzZzNr1izCwsK4++67+fHHH023u3Id69ev54svvmDevHlMnjyZFi1acOHCBdNyV1fXOttz\ncXH5zWM3Go288847BAcHA1BcXGzab359u6VLl5re+JWWllJZWXnVuq7l1/tS7e+qqqoavI7r1ezk\n5MSnn37K0aNHiYuL49VXX+X222/nhRdeuO76ave/K58vv36eODld/Xjsvn37XnWfq29fEPZFjsYX\nNq1Fixb06tXLFIzHjh0zzdYbIjg4GFdXV2JiYoCao4hPnTp11TBwdnY2vWhfi6enJ6Ghofzzn/8E\nal6k586dy65du656+y1btqCUoqioiG3bthEeHk5oaCgZGRkkJCQANQeAjRs3jtzcXFavXs3f/vY3\n7rzzTp5//nm6dOlCenq66U3C1cLmetq3b09oaCivvvoqc+fO/U1tUDOmaWlpDBo0iOHDh/P999+T\nm5sLwIYNG7j//vuvuf5t27ah1+uprKxk8+bNjB49mpSUFFq1asUf/vAHRo4caQr66urq39x/7969\nTJ8+nZkzZxIYGEh0dPRVb3c9I0aM4OOPP0YphV6v5/HHHzd1MK78m44YMYLPPvsMvV6P0WjkxRdf\n5M0337yhbQ0ZMoTY2FjOnz8PQFxcHNnZ2fTr16/e+/66lqvVfPLkSSZNmkRwcDCPPvooDzzwAKmp\nqb+5f0PccccdfPvtt+j1eqqqqti8efNVb3etfe56+8KN1iKsT2b2wua9+eabPPfcc3z++ef4+/sT\nFBTU4PtqtVrWrFnDsmXLePPNN+ncuTNt2rSp0wWoFR4ezooVK+pd5+rVq1mxYgWTJ09Gr9czadIk\npkyZctXbenl5MWPGDCoqKpg/f77poMB3332XN954g8rKSpRSvPHGG3To0IH777+fyMhIJk2ahKur\nK926dWPSpEk4OzvTs2dPxo8fz4YNG2jZsmWDx2DGjBmsWLHCNKOtdejQIb744guMRiNvvfUWPj4+\njBw5kocffpiHHnoIjUaDp6cna9euveqbI6jpptx7770UFxczbtw4IiIiqKys5KuvvuLuu+/Gzc2N\nvn370qpVKzIyMn5z/4ceeoiXXnrJdNBhr169bujNHMDzzz/PK6+8wuTJkzEYDAwbNozf//73AIwe\nPZrXX38dg8HAH/7wB15//XWmT59OdXU1PXr0IDIy8oa21aVLF5YtW8YTTzxBdXU1zZs35/3338fL\ny6ve+955550sXryYlStXXrNmFxcXxo8fT0REBO7u7jRv3tw0q7/ysTTEjBkzSEtLY9q0abi7u9Ox\nY0dTN+pK19rnXF1dr7kv9O/fn7fffptFixaxbt26GxpDYR0adaNTBSHszOuvv87ChQtp06YN2dnZ\nTJ06lZ07d+Lt7W3t0szOaDTy5z//mQ4dOvDII4+Yfl/7LYj6jqO4nsjISNMR4cL27N27l7y8PKZO\nnQrAypUradasmaktL5oWmdkLh9ehQwceeOABtFotSilWrlzZJIJep9MxevRo+vbty5IlS6xdjrCw\nrl278uGHH/Lhhx9SXV1N9+7dWb58ubXLElYiM3shhBDCwckBekIIIYSDk7AXQgghHJyEvRBCCOHg\nHPIAvUuXShp9nS1bulNQUFb/DZsAGYu6ZDzqkvH4hYxFXTIedTX2ePj6XvsroDKzbyCttmFnXWsK\nZCzqkvGoS8bjFzIWdcl41GXJ8ZCwF0IIIRychL0QQgjh4CTshRBCCAcnYS+EEEI4OAl7IYQQwsFJ\n2AshhBAOTsJeCCGEcHAS9kIIIYSDk7AXQgghHJyEvRBCCOHgJOyFEEIIC6qqNrLr4AV05QaLbVPC\nXgghhLCgPUey+GzHKRKPX7TYNiXshRBCCAtKOJkLQO/gNhbbpoS9EEIIYSFFpXpSzxfSpYMPbVq4\nWWy7EvZCCCGEhRxKzUUpGNi9rUW3K2EvhBBCWEhtC39gN1+LblfCXgghhLCAK1v4rbybW3TbEvZC\nCCGEBVirhQ+gNdeKjUYjy5cvJzU1FVdXV1auXElAQIBpeXR0NOvWrUOr1RIREcGsWbMwGAxERkaS\nmZmJk5MTK1asIDg4mIyMDCIjI9FoNHTt2pVly5bh5CTvU4QQQtgPa7XwwYwz+507d6LX69m4cSNP\nPfUUr732mmmZwWBg1apVfPTRR0RFRbFx40YuX77MTz/9RFVVFZ9//jmLFi3i7bffBmDVqlU8+eST\nrF+/HqUUu3btMlfZQgghRKOzZgsfzBj2Bw8eZOTIkQCEhoaSkpJiWnbmzBn8/f3x8fHB1dWVsLAw\nEhISCAwMpLq6GqPRiE6nQ6utaTwcO3aMwYMHAxAeHs6+ffvMVbYQQgjR6KzZwgcztvF1Oh2enp6m\nn52dnamqqkKr1aLT6fDy8jIt8/DwQKfT4e7uTmZmJuPHj6egoID3338fAKUUGo3GdNuSkpLrbrtl\nS3e0WudGf0y+vl7136iJkLGoS8ajLhmPX8hY1NVUxyPpTD4A44YF1vl+vaXGw2xh7+npSWlpqeln\no9Fomqn/ellpaSleXl58/PHHjBgxgqeeeors7Gzuv/9+tm7dWufz+dLSUry9va+77YKCskZ+NDV/\nkEuXrv8mo6mQsahLxqMuGY9fyFjU1VTHo6hUT8rZy3Tp4IMyVJnGoLHH43pvHMzWxh8wYAAxMTEA\nJCUlERISYlpWe9BdYWEher2exMRE+vfvj7e3t2nG7+PjQ1VVFdXV1fTs2ZP4+HgAYmJiGDhwoLnK\nFkIIIRqVtVv4YMaZ/dixY4mNjWXOnDkopXj11VfZunUrZWVlzJ49m8jISBYuXIhSioiICPz8/Hjg\ngQdYunQp9957LwaDgcWLF+Pu7s6SJUt48cUXefPNNwkKCmLcuHHmKlsIIYRoVNY8Cr+WRimlrLZ1\nMzFHm6iptp+uRsaiLhmPumQ8fiFjUVdTHI+iUj1/WruX4PY+LF0QVmeZQ7TxhRBCiKbOFlr4IGEv\nhBBCmI0ttPBBwl4IIYQwC2ufSOdKEvZCCCGEGdS28AdZuYUPEvZCCCGEWdS28MOs3MIHCXshhBCi\n0RXpKm2mhQ8S9kIIIUSjO3jqks208EHCXgghhGh0iTbUwgcJeyGEEKJR2VoLHyTshRBCiEZlay18\nkLAXQgghGpWttfBBwl4IIYRoNLbYwgcJeyGEEKLR2GILHyTshRBCiEZjiy18kLAXQgghGoWttvBB\nwl4IIYRoFLbawgcJeyGEEKJR2GoLHyTshRBCiFtmyy18kLAXQgghbpktt/BBwl4IIYS4ZbbcwgcJ\neyGEEOKWmFr4HW2zhQ8S9kIIIcQtMbXwu9lmCx8k7IUQQohbYustfJCwF0IIIW5aka6S1HO23cIH\nCXshhBDiph08dQmFbbfwQcJeCCGEuGn20MIHCXshhBDipthLCx8k7IUQQoibYi8tfJCwF0IIIW6K\nvbTwQcJeCCGEuGH21MIHCXshhBDihtlTCx8k7IUQQogbZk8tfJCwF0IIIW6IvbXwQcJeCCGEuCH2\n1sIHCXshhBDihthbCx8k7IUQQogGs8cWPkjYCyGEEA1mjy18kLAXQgghGqy2hT+wu4S9EEII4XCu\nbOG39Gpm7XJuiIS9EEII0QD22sIHCXshhBCiQey1hQ8S9kIIIUS97LmFDxL2QgghRL3suYUPEvZC\nCCFEvRJO2G8LHyTshRBCiOsq0lVy6rz9tvABtOZasdFoZPny5aSmpuLq6srKlSsJCAgwLY+Ojmbd\nunVotVoiIiKYNWsWmzZtYvPmzQBUVlZy4sQJYmNjuXDhAo8++iidO3cGYO7cuUyYMMFcpQshhBAm\n9t7CBzOG/c6dO9Hr9WzcuJGkpCRee+013nvvPQAMBgOrVq3iq6++ws3Njblz5zJmzBhmzJjBjBkz\nAPjzn/9MREQE3t7eHDt2jAcffJCHHnrIXOUKIYQQV2XvLXwwYxv/4MGDjBw5EoDQ0FBSUlJMy86c\nOYO/vz8+Pj64uroSFhZGQkKCafnRo0c5ffo0s2fPBiAlJYXdu3czb948li5dik6nM1fZQgghhIkj\ntPDBjDN7nU6Hp6en6WdnZ2eqqqrQarXodDq8vLxMyzw8POoE+AcffMCiRYtMP/ft25eZM2fSu3dv\n3nvvPdatW8eSJUuuue2WLd3Rap0b+RGBr69X/TdqImQs6pLxqEvG4xcyFnXZ23gcOHUZBYwO62SW\n2i01HmYLe09PT0pLS00/G41GtFrtVZeVlpaawr+4uJi0tDSGDBliWj527Fi8vb1N/1+xYsV1t11Q\nUNZoj6OWr68Xly6VNPp67ZGMRV2tW3uSlyfdplqyf/xCxqIuexyPHxPOAdC9o0+j197Y43G9Nw5m\na+MPGDCAmJgYAJKSkggJCTEtCw4OJiMjg8LCQvR6PYmJifTv3x+AhIQEhg4dWmddCxcuJDk5GYC4\nuDh69eplrrKFaLDiMj0rP0nk+fdjMRqVtcsRQjQyR2nhgxln9mPHjiU2NpY5c+aglOLVV19l69at\nlJWVMXv2bCIjI1m4cCFKKSIiIvDz8wMgLS2Njh071lnX8uXLWbFiBS4uLrRp06bemb0Q5lZcpmf1\nhsNcuFTToTpwIochvdpZuSohRGNyhKPwa2mUUg43JTFHm8ge20/m0tTHoqRMz182JHHhko4hvfxI\nPJlLK+/mrPz97Wid5dQVTX3/uJKMRV32Nh6vf3aI1POF/HXRcLPM7B2ijS+EI9KVG1j9eU3QjxnQ\ngYcn9eSu2wPILShnX8pFa5cnhGgkjtTCBwl7IRpMV25g9YbDnM/VMbp/B+aNDUGj0TDrzhBctE58\nszcNQ1W1tcsUQjQCUwvfjr9bfyUJeyEaoGZGf5hzuTpG9e/AvLtqgh6gtY8bvxvQkYKSSnYfzrJy\npUKIxmA6kY4DfF4PEvZC1MsU9Dk6RoW2Z/5dITj9N+hrjR/iT3NXZ76PS6dSL7N7IeyZo7XwQcJe\niOsqrTDw18+TOJejI7xfe+aP6/aboAfwcnflrkGdKC4zsPPgeStUKoRoLI7WwgcJeyGuqayi5mC8\njJwSwvvdxn13Xz3oa40b7I9Hcy3b9p+jrMJgwUqFEI3J0Vr4IGEvxFWZgv5iCSP73sZ9d3e/btAD\nuDXTMmFIAGWVVWw/ILN7IeyRI7bwQcJeiN8oq6jirxuTSL9Ywog+t3H/+PqDvtaYsI74eLiyI+E8\nxaV6M1cqhGhsiamO18IHCXsh6qgN+rTsEob3accDExoe9ADNXJyZNKwzlYZqftifYcZKhRDmkHjS\n8Vr4IGEvhElZRRVvfpFEWnYxw3u348HxPW4o6GuF92tPa+9mRB/KJL+4wgyVCiHMwVFb+CBhLwQA\n5ZVVvPVFEmezihnaqx0PTuiBk9ONBz2Ai9aJKSMCqao28t2+9MYtVAhhNo7awgcJeyEor6yZ0Z/J\nKmZoLz8WTrz5oK81rHc72rVyZ09yNrmF5Y1UqRDCnBy1hQ8S9qKJq5nRH+FMZjFDevmxcGLPWw56\nAGcnJ6aNDKTaqPhmT1ojVCqEMCdHbuGDhL1owsorq3jryyOczixiSE8/ft9IQV9rYPe2dGrryf5j\nF8m8pGu09QohGp8jt/BBwl40URX6Kt7+8ginLxQxuEdbFk669db9rzlpNEwfGYQCtsjsXgib5sgt\nfJCwF01Qhb6Kt784ws//DfqHJ/fE2ck8T4V+XVoT1N6bg6cukX6x2CzbEELcGkdv4YOEvWhiKvXV\nvP1lMqcuFDGou3mDHkCj0RARHgTAppizZtuOEOLmOXoLHyTsRRNSE/RHOHW+kIHd2/LIFPMGfa0e\nnVvRI6AlKWfzOXW+0OzbE0LcGEdv4YOEvWgiKg3VvPPVEVLPFxLWzZdHzDyj/7UZtbP7n86glLLY\ndoUQ11fbwu/qwC18kLAXTUCloZp3vjzCyXOFhIX48uiUXmidLbvrB3fwoV9wa05dKOJYWr5Fty2E\nuLbaFv5AB27hg4S9cHCVhmre/SqZk+cKGRDiy6NTLR/0taZf8dm9zO6FsA1NoYUPEvbCgekN1az5\nOpkTGQX079qGx6wY9AD+fl4M6t6W9IslHDp12Wp1CCFqNJUWPkjYCwdVG/TH02uC/vFpva0a9LWm\njQxEo4Ete85iNMrsXghraiotfGhA2D/00EOWqEOIRqM3VLNm01GOpRcQ2sV2gh7gttYeDO99G5mX\nS4k/kWPtcoRo0ppKCx8aEPYVFRVkZ2dbohYhbpmhqpq1m45yLC2ffsGtbSroa00Z3hlnJw1b9pyl\nqtpo7XKEaJKaUgsfQFvfDQoKChgzZgytW7emWbNmKKXQaDTs2rXLEvUJ0WCGqpoZfUpaPn2DW/OH\n6X1w0dpW0AO0aeHGHaHtiT6Uyd6j2YwK7WDtkoRocppSCx8aEPb/+Mc/LFGHELfEUGVk7aYUUs7W\nBP0iGw36WpOGdWZvcjZbY9MZ3rsdLlpna5ckRJPSlFr40ICwb9++PRs2bGD//v1UVVUxZMgQ5s+f\nb4nahGgQQ5WRdZuPcvRsHn2CWrNoem+bDnqAFp7NGBPWke3x5/jxcBZ3Depk7ZKEaDIKm1gLHxrw\nmf0bb7zB3r17mTp1KjNmzGD//v289tprlqhNiHrVBn3ymTx6B7XiiRm97WaWPGFIAM1dnfk+Lp0K\nfZW1yxGiyTjYxFr40ICZfWxsLFu2bMHpv6cWHTVqFJMnTzZ7YULUx1Bl5L0tKSSfyaNXYCv+OKOP\n3QQ9gKebC+MG+/PN3jR2Jl5g0rDO1i5JiCahqbXwoQEz++rqaqqqqur87OxsPy+owjFVVdcEfdLp\ny/Tq3NLugr7WXYM64enmwrb4c5RWGKxdjhAOrym28KEBM/vJkydz3333MXHiRAC+//57Jk2aZPbC\nhLiWK4O+Z+eW/DGiL64u9hf0AG7NtIwf4s+XP55he/w5Iu4ItnZJQji0ptjChwaE/cMPP0yPHj3Y\nv38/Sikee+wxRo0aZYHShPit2qA//PNlegTYd9DXGjOgI/85cJ6diRcYO7AT3h6u1i5JCIfVFFv4\n0ICwv+eee9i8eTN33HGHJeoR4pqqqo28/80xU9D/zz19aWbnQQ/QzMWZScM689mOU3wfl8HcO7ta\nuyQhHFJTbeFDAz6zb926NYmJiej1ekvUI8RVVVUb+eDbYxw6dYnu/i0cJuhr3RHanjY+zfnxcCb5\nxRXWLkcIh9RUW/jQgLA/duwY8+fPp2/fvvTo0YPu3bvTo0cPS9QmBFAT9H//9hgHU2uC/n/v6edQ\nQQ+gdXZiyvBAqqqNbN2Xbu1yhHBIiSdz0dD0WvjQgDb+P//5T7p3726JWoT4jWqjkb9vPU5i6iW6\ndfpv0Ls6VtDXGtrbjx/2Z7DnSDZ33+6PX0t3a5ckhMOobeF3aYItfGjAzH7x4sWWqEOI36g2Gvn7\nt8dJPJlLSKcWPDnTcYMewNnJiWkjAzEqxTd706xdjhAOpSm38KEBM/suXbqwdu1a+vXrR/PmzU2/\nHzRokFkLE01btdHI/209TsLJXEI6+vDkzL4OHfS1BnZvS6e4DOKP5TBhSAAdfT2tXZIQDqEpt/Ch\nAWFfWFhIfHw88fHxpt9pNBo++eQTsxYmmq5qo5F/fHeCAydy6drRhydn9aO5a727qkNw0miYHh7E\nu18ls2UodqQbAAAgAElEQVRPGk/M6GPtkoSwe029hQ8NCPuoqChL1CEEAEaj4sPvThB/PIcuHX14\ncmbTCfpa/YJbE9zBm0OnLpGWXUzgbd7WLkkIu9bUW/hwnc/sly5davr/5s2b6yybO3eu+SoSTZbR\nqPjH98fZfzyHLh18WDyzH27NmlbQQ03nbEZ4zZn0NsWctXI1Qti/pt7Ch+uE/YkTJ0z//3XLvry8\n3HwViSbJaFR8+P1x9h/LIbiDN4tnNc2gr9UjoCU9AlpyLC2f1HMF1i5HCLslLfwa1wx7pdRV/w81\nMw8hGktN0J8g7lgOwe29+dOs0CYd9LVm3BEE1Mzuf/0cFEI0jLTwa1zzFfXKQL+ZcDcajSxfvpzU\n1FRcXV1ZuXIlAQEBpuXR0dGsW7cOrVZLREQEs2bNYtOmTaaPDCorKzlx4gSxsbEUFBQQGRmJRqOh\na9euLFu2zHTJXWHfjEbFP384QdyxiwS192axBL1JcHsfQru0Ien0ZVLS8ukT1NraJQlhdxKkhQ9c\nZ2ZvMBjIzs4mMzPT9P+srCyysrIwGOq/FOfOnTvR6/Vs3LiRp556itdee63OuletWsVHH31EVFQU\nGzdu5PLly8yYMYOoqCiioqLo1asXL7zwAt7e3qxatYonn3yS9evXo5Ri165djfPohVUZleKf204Q\nm3KRwNtqZvTuzSXorzRtZCAgs3shbkahrpKfpYUPXGdmX1ZWxvz5800vMPPmzTMta8hM/+DBg4wc\nORKA0NBQUlJSTMvOnDmDv78/Pj4+AISFhZGQkMD48eMBOHr0KKdPn2bZsmVAzSl7Bw8eDEB4eDix\nsbGMHTv2hh6osC1Gpfj4h5PEHr1I4G1ePDW7nwT9Vfj7eTG4R1sOnMjl0KlLhDXx2YkQN0Ja+L+4\n5qtrdHT0La1Yp9Ph6fnLCUGcnZ2pqqpCq9Wi0+nw8vIyLfPw8ECn05l+/uCDD1i0aJHpZ6WU6Q2G\nh4cHJSUl1912y5buaLWNfwIWX1+v+m/URNzKWBiNirVfJrH3aDZdOrVgxaPD8HRzacTqLM+c+8ZD\nU/uQmBrNt/vSGTssCGcn2z9mRp4rv5CxqMuS45F0Jg+NBsYNC6S1j5vFtnsjLDUeZptKeXp6Ulpa\navrZaDSi1Wqvuqy0tNQU/sXFxaSlpTFkyBDT8is/ny8tLcXb+/rfOy4oKGuUx3AlX18vLl26/puM\npuJWxsKoFJ9sP0nMkWwC2nnxvxF9KNdVUK6z3yu9mXvfcAWG9W7H3uRsvvvpZ4b1vs1s22oM8lz5\nhYxFXZYcj0JdJcfP5tGlow9GfZVN/h0aezyu98bBbEe5DRgwgJiYGACSkpIICQkxLQsODiYjI4PC\nwkL0ej2JiYn0798fgISEBIYOHVpnXT179jSdwS8mJoaBAweaq2xhRjVBn1oT9H5ePD0nFI/m9j2j\nt5Qpwzvj7KThm71pVFUbrV2OEDZPWvh1mS3sx44di6urK3PmzGHVqlU899xzbN26lY0bN+Li4kJk\nZCQLFy5kzpw5RERE4OfnB0BaWhodO3ass64lS5awZs0aZs+ejcFgYNy4ceYqW5iJUSk+/XcqMUey\n8Pfz5CkJ+hvSxseNUaEduFRYwd7kbGuXI4TNk6Pw69Koeg7x1ev1fPjhh6SlpfHSSy/x8ccf88gj\nj+Dq6mqpGm+YOdo10o77xY2OhVKKqP+cYvfhTPzbevL03P52/xn9lSy1bxTpKlnyfhwebi689ugQ\nXMxwXEpjkOfKL2Qs6rLUeBTqKnlqbSxdOvrw3Pwws2/vZtlUG//ll1+mvLyc48eP4+zszLlz53j+\n+ecbrTjh2JRSfPrfoO/kgEFvST6ezfjdwI4UlFTy46FMa5cjhM2qbeEPkha+Sb1hf+zYMf70pz+h\n1Wpxc3Pj9ddfr3MqXSGuRSnFZztO8ePhTDr6evL0nFAJ+ls0/vYA3Jo5811cBuWVVdYuRwibVNvC\nl6+q/qLesNdoNOj1etNX3woKCuR0uaJeSinW7/iZ6EOZdPT14Jm5oXi52+5HP/bC082FcYP80ZUb\n2Jl43trlCGFz5EQ6V1dv2N933308+OCDXLp0iVdeeYWIiAjuv/9+S9Qm7JRSig07f2bXoQt08PXg\n6bn9Jegb0dhBnfB0c2H7gfOUVtR/NkshmhJp4V9dvd+zDw8Pp3fv3sTHx1NdXc17771H9+7dLVGb\nsENKKTbs+pmdBy/QoY0Hz8zpj7cEfaNya6ZlwpAAvvjxNNvjzxFxR7C1SxLCZkgL/+rqDft58+ax\nbds2unTpYol6hB1TSvH5rtPsTLxA+zYePDO3P94eEvTmMGZAB/6dcI4diee5c2AnfGSchZAW/nXU\n28bv3r07W7Zs4ezZs6YL4WRlZVmiNmFHlFJsjD7NjsTzEvQW4OrizJRhndEbjHwfl27tcoSwCdLC\nv7Z6Z/ZHjhzhyJEjdX6n0WjkynPCRCnFFz+e5j8J57mttTvPzO0vM00LGNmvPdviz7H7cCbjBvnT\n2qe5tUsSwqqkhX9t9Yb9rV4QRzg2pRRf7j7Dvw/UBP2zEvQWo3V2YuqIQD78/gRb96XxwPge1i5J\nCKuRFv711Rv2Z8+eZf369ZSVlaGUwmg0cuHCBT777DNL1CdsmFKKr3afYXv8Odq1+u+M3lOeZJY0\ntFc7ftifwd7ki4y/PQC/Vu7WLkkIq5AW/vXV+5n94sWL8fb25sSJE/To0YO8vDy6du1qidqEDVNK\n8fVPZ9kWfw6/Vu48e29/WkjQW5yTk4ZpI4MwKsU3e9OsXY4QViMt/OurN+yNRiP/8z//w8iRI+nZ\nsyd/+9vfSE5OtkRtwkYppdgUc5Yf9mfg19KNZ+dK0FtTWDdf/Nt6En88hwu5OmuXI4TFSQu/fvWG\nvZubG3q9ns6dO3Ps2DFcXV2prKy0RG3CBiml+HT7Sb6P+2/Q3ztAnlxW5qTRMOOOIBSwec9Za5cj\nhMVJC79+9Yb9lClTeOyxxxg1ahSffvopv//9702XoxVNT8yRLL7YeYq2EvQ2pU9Qa7p08OHwz5c5\nm1Vs7XKEsChp4dev3rCfP38+7777Lq1atSIqKorZs2ezbt06S9QmbIyhysi3sek0c3XmmTn9Jeht\niEajYUZ4EACbY85YuRohLEda+A1T79H4a9eu/c3vUlNTeeKJJ8xSkLBde49mU1BSybQ7guU73Tao\ne0BLenZuybH0AlLPFdDNv6W1SxLC7KSF3zD1zuyvZDAYiI6OJi8vz1z1CBtVVW3kh7h0XLROzBgl\np062VTPCa86T/3XMWZRSVq5GCPOTFn7D1Duz//UMftGiRTz00ENmK0jYpn0pF8krruR3YR1p6d2c\nS5fkamu2KKi9N6Fd2pB0+jJHz+bTN7i1tUsSwmxqW/hdpYVfrxua2QOUlpbKufGbmGpjzfnXtc4a\nxt/ub+1yRD2mhwehATbFnMEos3vhwGpb+AOlhV+vemf2Y8aMQaPRADVfuyouLpaZfRMTfzyHS4UV\njOrfgVbe8lm9revU1pPBPf2IP57DodRL8kIoHJa08Buu3rCPiooy/V+j0eDt7Y2np6dZixK2w2hU\nfLcvA2cnDROGyKzeXkwbEUjCiVw27znLgBBfnJw01i5JiEYlLfwbU2/YJyQkXHf5tGnTGq0YYXsS\nU3O5mF/GiL630cbHzdrliAbya+XO8D7t2JOcTdyxiwzvc5u1SxKiUUkL/8bUG/a7d+8mMTGRMWPG\noNVq+emnn/D19SUwMBCQsHdkRqXYGpuORgMThwZYuxxxg6YMDyTu2EW+2ZvG7T390Drf8CE6Qtgs\naeHfmHrDPj8/n2+++YbWrWuO6i0pKeGxxx5j1apVZi9OWNfhU5fIvFzK0F5++LWUq6nZm9Y+zbkj\ntAO7Dl5gT3I2o/t3sHZJQjQKaeHfuHrf6ufk5NCy5S8n52jWrBlFRUVmLUpYn1KKrfvS0QCThnW2\ndjniJk0aGoCrixNbY9PQG6qtXY4QjUJa+Deu3pn9qFGjuP/++xk3bhxKKX744QemTJliidqEFR05\nk8e5HB2De7TlttYe1i5H3CQfz2bcGdaJH/ZnEH0ok7vlq5PCAUgL/8bVO7N/7rnnuPfeezl79ixZ\nWVk88cQTPPLII5aoTViJ+u9n9QCThna2ai3i1t19uz9uzZz5YX8G5ZVV1i5HiFsiLfybc92wr66u\nRq/XM378eBYvXkxoaCjt27e3VG3CSo6l55OWXcyAEF86tpWvWdo7TzcXxg32R1duYEfieWuXI8Qt\nkRb+zblm2B89epRRo0Zx4MABdDod06dP5+OPP+bxxx9n586dlqxRWJBSim//O6ufLJ/VO4yxAzvh\n6ebCvw+cQ1cupzoW9kta+DfnmmH/xhtv8M477zBixAg2b96Mj48PGzZs4PPPP+dvf/ubJWsUFnTy\nXCGnLxTRL7g1Ae28rF2OaCRuzbRMGBJAeWU12+PPWbscIW6KtPBv3jXDvqioiAEDBgAQFxfHuHHj\nAGjRogUGg8wMHNXW2DQAJg8PtHIlorGNGdCBFp6u7Ew8T5Gu0trlCHHDpIV/864Z9rWXxzQYDCQk\nJDB06FDTz6WlpZapTljUzxcKOXmukF6BrQhq723tckQjc3VxZvLwQPRVRr6Ly7B2OULcMGnh37xr\nfvVu0KBB/PnPf8ZgMODn50efPn3IycnhvffeY8SIEZasUVjIVvms3uGN7Hsb2/Zn8FNSJncP9qe1\nj1zYSNgHaeHfmmvO7CMjI2nfvj0eHh588MEHAKxfv56KigoiIyMtVqCwjLNZxaSk5dPdvwUhnVpY\nuxxhJlpnJ6aOCKSqWvHtfz+yEcIeSAv/1lxzZu/q6srDDz9c53eLFy82e0HCOuSz+qZjaK92/LA/\ng9ijFxk/JIB2reRUyML2SQv/1siVMQQZF0s4ciaPLh196O4vs3pH5+SkYfrIIIxKsWXPWWuXI0S9\npIV/6yTsBd/tSwdgyrDOaDRy3fOmYEA3XwL8vDhwIpfzuTprlyPEdUkL/9ZJ2DdxFy7pOHjqEoG3\nedErsJW1yxEW4qTRMD08CIDNMTK7F7ZNWvi3rt4L4ezZs4e33nqL4uJilFIopdBoNOzatcsS9Qkz\nq53VTx4WKLP6JqZPUCu6dPQh6fRlzmQVEdzex9olCfEb0sJvHPWG/cqVK4mMjKRr164SBg4mO6+U\nhBO5+Lf1pF+X1tYuR1iYRqMhIjyI19cfZnPMWZ6e09/aJQnxG9LCbxz1hn3Lli0ZPXq0JWoRFvbd\nvgwUMHm4fFbfVHXzb0mvzi05ll7AiYwCegS0tHZJQtQhLfzGUe9n9mFhYaxatYq9e/eSkJBg+ifs\nW25BGfHHc+jg60H/EF9rlyOsaHp4MACbYs6YzpwphC2QFn7jqXdmn5ycDMDx48dNv9NoNHzyySfm\nq0qY3fdxGRiVYtLQzjjJrL5JC2rvTf+ubTj882WSz+TRr0sba5ckBCAt/MZUb9hHRUVZog5hQZcL\ny9mXcpF2rdwZJE8iAUwPDyLp58tsjjlLn+DW8gZQ2ARp4TeeesM+MTGRDz/8kLKyMpRSGI1GsrKy\niI6Ovu79jEYjy5cvJzU1FVdXV1auXElAQIBpeXR0NOvWrUOr1RIREcGsWbMA+OCDD4iOjsZgMDB3\n7lxmzpzJ8ePHefTRR+ncuTMAc+fOZcKECbfwsJu2H+LPUW1UTBwagJOTvKgL6Ojrye09/dh/PIeD\nqZfkTaCwOmnhN656w/6FF17g4YcfZvPmzSxYsICYmBh69uxZ74p37tyJXq9n48aNJCUl8dprr/He\ne+8BNVfOW7VqFV999RVubm7MnTuXMWPGcObMGQ4fPsyGDRsoLy/no48+AuDYsWM8+OCDPPTQQ7f4\ncEVBSSV7k7PwbdGcIb38rF2OsCFTRwZy4EQuW/acJSzEV94ICquSFn7jqjfsmzdvTkREBJmZmXh7\ne7Ny5UpmzJhR74oPHjzIyJEjAQgNDSUlJcW07MyZM/j7++PjU/O93rCwMBISEjh+/DghISEsWrQI\nnU7Hs88+C0BKSgppaWns2rWLgIAAli5diqen50094KZu2/4MqqoVE4d2xtlJzqkkfuHX0p0RfdsR\ncySbuGMXGd7nNmuXJJqwhBM50sJvRPWGfbNmzSgsLCQwMJAjR44wdOhQysrK6l2xTqerE8jOzs5U\nVVWh1WrR6XR4eXmZlnl4eKDT6SgoKCArK4v333+fCxcu8Pjjj7N9+3b69u3LzJkz6d27N++99x7r\n1q1jyZIl19x2y5buaLXO9dZ4o3x9veq/kQ0rKK4g5kgWvi3dmDKqKy7amw97ex+LxuYo4/HA5D7s\nS8lha1wGE8O73PQ+4ijj0RhkLOpqyHjkF1fwc2YRPYNaExLk2AeMWmr/qDfsH3jgARYvXsyaNWu4\n55572Lp1K7179653xZ6enpSWlpp+NhqNaLXaqy4rLS3Fy8uLFi1aEBQUhKurK0FBQTRr1oz8/HzG\njh2Lt7c3AGPHjmXFihXX3XZBQf1vRm6Ur68Xly6VNPp6LWlj9M/oq4zcPagThQWl9d/hGhxhLBqT\no43HqP7t2Zl4gU27UhkzoOMN39/RxuNWyFjU1dDx2HXwAkpBv6BWDj1+jb1/XO+NQ71v28ePH89H\nH32Ep6cnmzZt4i9/+Qt/+ctf6t3ogAEDiImJASApKYmQkBDTsuDgYDIyMigsLESv15OYmEj//v0J\nCwtjz549KKXIycmhvLycFi1asHDhQtNXAOPi4ujVq1e92xd1FZfp+fFwJi08XRnRV9qz4tomDu2M\nq4sTW/elU2motnY5ogmSFn7jq3dmX1RUxF/+8hfOnTvHO++8Q1RUFJGRkabP269l7NixxMbGMmfO\nHJRSvPrqq2zdupWysjJmz55NZGQkCxcuRClFREQEfn5++Pn5kZCQwD333INSipdeeglnZ2eWL1/O\nihUrcHFxoU2bNvXO7MVv7Ug4j95gJOKOAFzM8BGHcBw+Hq6MHdiJ7+My+PFQJnff7m/tkkQTUqir\n5OcLRXIUfiOrN+xffPFFhg8fTnJyMh4eHrRt25ZnnnmGv//979e9n5OTEy+//HKd3wUHB5v+P2bM\nGMaMGfOb+9UelHelXr168fnnn9dXqrgGXbmBXQcv4O3hyh392lu7HGEH7r7dn+hDmfywP4M7Qtvj\n1qzelwohGkXtUfiDesi3hRpTvW38CxcuMHv2bJycnHB1dWXx4sVcvHjRErWJRrIz8TwV+mruHuyP\nq4vM6kX9PJq7cPfgTujKDexIOG/tckQT8ksLX07j3ZjqDXtnZ2dKSkpMF0pJT0/HSb6yZTfKKqrY\nmXgBTzcXRvWXWb1ouDsHdsLL3YXtB86hKzdYuxzRBFzZwm/hKS38xlRvav/xj39kwYIFZGVl8Yc/\n/IF7772XJ5980hK1iUaw69AFyiqruGtQJ5q7SitWNJxbMy0ThwRQoa9m2/4Ma5cjmgBp4ZtPva/+\n4eHh9O7dm+TkZKqrq3n55Zdp08axv/foKCr0VexIOI97My2/C7vxr1AJMXpAB/6dcJ5dBy8wdlAn\nmW0Js5IWvvlcM+y3bNly1d/v3bsXgGnTppmnItFofjycia7cwNQRgXKAlbgpLlpnJg/rzCf/TuX7\nfRnMuyuk/jsJcROkhW9e10yAyMhIWrduzdChQ3FxcfnNcgl721ZpqObf8edo7urMnQNlVi9u3oi+\nt7EtPoPdSZmMu70TbXzcrF2ScEDSwjeva4b95s2b+eGHH4iNjaV79+5MmDCBYcOGycF5diImKYvi\nMgMThwbg0fy3b9aEaCitsxNTRwTyj+9O8O3edB6a2MPaJQkHJC1887pmcvfo0YOnnnqKTZs2MXfu\nXGJjY7nnnnt46aWXiI+Pt2SN4gYZqqr5IT6DZi7O3DWok7XLEQ5gSM92tG/jQWxKNtl5N3+qZSGu\nRlr45tegaXqfPn1YsmQJS5cu5dSpUzz22GPmrkvcgj3J2RTp9Iwe0AEvd1drlyMcgJOThukjA1EK\nvtmbZu1yhIORFr75XfeoLaUUCQkJbN++nZiYGHr06MGCBQsYPXq0peoTN6iq2sgP+zNw1ToxbrCc\n5lQ0ngEhvgS08+LAiVwmDCnB30+u5iYah7Twze+aYb9s2TL27NlDz549GT9+PE8//TTu7u6WrE3c\nhH0pF8kvruTOgR3x8ZBZvWg8Go2GGeFBvPXFEbbsSeN/7ulr7ZKEA5AWvmVcM+w3btxIixYtOH78\nOMePH+fNN9+ss3zXrl1mL07cmKpqI9/tS0frrGH87QHWLkc4oN6Breja0Yek05c5k1lEcIfrXxBL\niPpIC98yrhn2Eub2J/54DpeLKhjdv4NcLUqYRe3s/vX1h9kUc5Zn5va3dknCzkkL3zKuGfYdOnSw\nZB3iFhmNiu/iMnB20jBhiMzqhfl0829J78BWpKTlcyI9nx6dW1m7JGGnCkqkhW8p8qV5B3HgZA45\n+WUM79OO1j7NrV2OcHDTw4MA2BRzFqWUlasR9upgaq608C1Ewt4BGJXi+30ZOGk0TBja2drliCYg\n8DZvBoT4ciarmCNn8qxdjrBTiSdzpYVvIRL2DuBQ6iUyL5cypJcfbVvIqUyFZUwfGYgG2BxzFqPM\n7sUNMrXwO7WQFr4FSNjbOaUUW/elowEmDpXP6oXldPD15PZefpzP1ZF4Mtfa5Qg7Y2rhd29r7VKa\nBAl7O5d0+jLnc3UM6tGW21p7WLsc0cRMHRGIk0bD5j1pVBuN1i5H2BFp4VuWhL0dU0qxNTYdgMnD\nOlu1FtE0+bV0Z2S/28jJL2NfykVrlyPshLTwLU/C3o6lpOWTfrGEsG6+dPD1tHY5oomaPKwzWmcn\nvt2bjqFKZveiftLCtzwJezsls3phK1p5N2d0/w7kFVcQcyTL2uUIOyAtfMuTsLdTJzMKOJ1ZRGiX\nNnJBEmF1E4cG0MzFme/2pVOhr7J2OcKGSQvfOiTs7dS3tbP64Z2tWocQAN4ertw5sCNFpXr+b0sK\nRqN8FU9cnbTwrUPC3g6dOl9I6vlCege1IvA2b2uXIwQA428PoKOvB/+Jz2DtpqNU6qutXZKwQdLC\ntw4Jezu0NTYNgCnDAq1ciRC/cG+uJXJeGKFdfUk6fZnX1x+iSFdp7bKEDckrKpcWvpVI2NuZM1lF\nHEsvoEdAS7p0lMuLCtvi3lzLsoeHMLxPO9IvlrDyk4NkXS61dlnCRuxLzpYWvpVI2NsZOQJf2Dqt\nsxMPTejBtJGB5BVX8GrUQU5mFFi7LGEDYpOzpIVvJRL2diT9YjHJZ/Lo2tGHbv4trF2OENek0WiY\nMjyQ30/qQaWhmr9uTCLumJx0pykrKKnkeFqetPCtRMLejtTO6qcMD0Sj0Vi3GCEaYFjv2/jTrH64\nujjzf1uPs3VfulwSt4k6mJqLUtLCtxYJeztxPlfH4Z8vE9Tem56dW1q7HCEarEfnViydP4DW3s3Y\nHHOWf20/SVW1nGmvKamqNhJ3LAeNRlr41iJhbye+25cO1HxWL7N6YW86+Hry/H0DCfDzIuZINu9+\nlUx5pZx8pynIL67g9fWHSMsuJqy7n7TwrUTC3g5kXS4l8WQuAX5e9A1ube1yhLgpLTybsWRef/oG\ntyYlLZ9Vnx4iv7jC2mUJM0o5m8fyfyZwJrOYIT39eHbBQGuX1GRJ2NuB7+LSUcAkmdULO9fcVcsf\nI/owqn8HLlzS8UrUQc7n6qxdlmhkRqNic8xZ3vriCBX6KhaM68bDk3vi1kxr7dKaLAl7G5eTX0b8\n8Rw6+nrQP6SNtcsR4pY5Ozmx4K4QZo4KpqCkklWfHiQlLc/aZYlGUlyq568bk9i6L53WPs1ZuiCM\n0f07yETFyiTsbdz3cRkoVTOrd5Ini3AQGo2G8UMCeGxqL6qqFW9/kcweuWKe3Tt1vpBl/zzAiYwC\nQru0YdmDg+jcTk7pbQukp2LDLheWE3fsIre1dmdgN/m6inA8g3vUHLC15utk/rntJJeKKpg+Ur5a\nam+UUmyPP8fXP50FYOboYO4e7C9/RxsiM3sb9sP+DKqNiklDO+PkJE8a4ZhCOrXg+fsG4tuiOd/t\nS+cf3x2Xr+bZkdIKA2u+PsqXu8/g5eHCs/f2Z/ztARL0NkZm9jYqv7iCPcnZtG3hxuCeMqsXjq1d\nK3eev28g736VTNyxHApKKlk0ow8ezV2sXZq4jvSLxfxtcwqXiyroEdCSR6f0wtvD1dpliauQmb2N\n2rb/HNVGxcRhATg7yZ9JOD5vd1eemdufASG+nDxXyKtRB7lcWG7tssRVKKX48dAFXo06SF5RBZOH\ndeap2aES9DZMUsQGFeoq+elIFm18mjO0VztrlyOExTRzceYP03ozdmAnsvPKWBl1kLTsYmuXJa5Q\noa/i/7YeJ+o/p2juqmXxrH5MDw+SjxptnIS9Ddoef46qaiMThgSgdZY/kWhanJw0zL2zK3Pv7EpJ\nqZ7X1x8i6fRla5clgMzLpaz4VyL7j+cQ3MGb5Q8OoneQnOjLHkiS2JjiMj27kzJp6dWM4X1us3Y5\nQljN2IGdWDSjDyhY83UyPx66YO2SmrS4lIus+FcC2Xll3DWoE0vuHUAr7+bWLks0kIS9jfnPgfPo\nDUbG3+6Pi1b+PKJpGxDiy7P3DsDLzYWo/5zii+jTGOWqeRZlqKrmX9tP8n/fHcfZScOi6b2Z87uu\n0nW0M/LXsiG6cgO7Dl3A28OV8H7trV2OEDYhqL03S+8bSLtW7mw/cI73vzmGoara2mU1CbkFZbwS\ndZCfkrLwb+vJSw8MIkzO+WGXzPbVO6PRyPLly0lNTcXV1ZWVK1cSEBBgWh4dHc26devQarVEREQw\na9YsAD744AOio6MxGAzMnTuXmTNnkpGRQWRkJBqNhq5du7Js2TKcHPAI9R0J56nUVzNtRCCuLs7W\nLkcIm9G2hRtLF4Sx9utkEk/mUlhSyR8j+uDlLkd/m8vB1Et89MMJyiurCO/Xnnvv7CqvS3bMbIm5\nc+w9WIkAABgPSURBVOdO9Ho9Gzdu5KmnnuK1114zLTMYDKxatYqPPvqIqKgoNm7cyOXLl4mPj+fw\n4cNs2LCBqKgoLl68CMCqVat48sknWb9+PUopdu3aZa6yraasooqdBy/g6ebCqNAO1i5HCJvj6ebC\nU3NCGdyjLaczi3g16iA5BWXWLsvhVFUb+XzXz6zbfJRqo5HfT+rBA+O7S9DbObOF/cGDBxk5ciQA\noaGhpKSkmJadOXMGf39/fHx8cHV1JSwsjISEBPbu3UtISAiLFi3iscceY9SoUQAcO3aMwYMHAxAe\nHs6+ffvMVbbV7Dp4nvLKKsYN7kQzV3lSCXE1LlpnHpnSiwlDAsgpKOeVTw5yOrPI2mU5jPziCt5Y\nf5j/JJznttbuvHjfQIb1lgOFHYHZ2vg6nQ5PT0/Tz87OzlRVVaHVatHpdHh5eZmWeXh4oNPpKCgo\nICsri/fff58LFy7w+OOPs337dpRSplMvenh4UFJSct1tt2zpjlbb+IHp6+tV/41uQlmFwTSrn3VX\nd9zt4Kxh5hoLeyXjUZe5x+PxmaEEdmzBe5uSWb3hME/NC2NYX9s8zsVe9o1Dqbn89bODFJfqCe/f\ngSdmhprlkrT2Mh6WYqnxMFvYe3p6UlpaavrZaDSi1Wqvuqy0tBQvLy9atGhBUFAQrq6uBAUF0axZ\nM/Lz8+t8Pl9aWoq39/WvolRghtaer68Xly5d/03GzfphfwYlZQamjQiktKSC0pIKs2ynsZhzLOyR\njEddlhqPsC6t+Z+Ivry3JYXX/pXA7DFdGDuok02dk90e9g2jUfFtbBpbY9Nxdtaw4K4QRvXvgK64\nHF0jb8sexsOSGns8rvfGwWxt/AEDBhATEwNAUlISISEhpmXBwcFkZGRQWFiIXq8nMTGR/v37ExYW\nxp49e1BKkZOTQ3l5OS1atKBnz57Ex8cDEBMTw8CBA81VtsVV6qv594FzuDVz5s6BHa1djhB2pW9w\nayLnDcDb05X/b+/Oo6Oq0zSOfytVZIEkkJCwk2LpgEjYEcGIIBhoCRjtBDAKOJpj1PbgHLcGbGDi\nwQaUo6d7aNTm9DRiRgU7RIjsQrDpwbCFfTEIEjbZspKFLJW68wcaiUuikKqbFM/nv3BreXi54b2/\nW7fuuyz9OB9u+gqnU1/N+6WulFTw1sf7SNt2bfb8jEkDuLd/hwZ1wCT1w2Ur+6ioKLZt28bDDz+M\nYRjMnTuXTz/9lNLSUiZOnMj06dNJSEjAMAxiY2Np3bo1rVu3ZteuXcTFxWEYBrNnz8ZqtTJt2jRm\nzZrFW2+9RZcuXRg9erSrYrvdv/ado6i0krF3dWoUp+9FGhp7mwBmTh7In1P2sznzLLmFZTz1QE9d\n+1KHY2cKeHfVIQqKK+j7mxASxvbQ4CEPZjEMz7tDhStOE7ni9FOlo4o/vJtBWUUVC565C3+/xvGL\nplNxNakeNZlVj9IyB4s+OcjRU/l0bhvAc3F9aG7yYJaGuG8YhsH6nadZ8fm12fOxw7ow+s4wvNyw\nmm+I9TCTR5zGl7pt3X+ewuIKRvRr32gavUhD1dT32lCWyIg2nDxfxJ/e3803OSV1P/EWUj17fsu1\n2fMvx/fl/sF2tzR6MZeavUkqHU7Wbj+Ft82L0YPCzI4j4hFsVi+eiO5BzN2dySksY25yJlmn882O\n1SBkX7jCq0t2se94Dj3sQSQ9PojuYUFmxxI3UbM3ybZD58kvKmd4v/aaAS1SjywWCzF3dyYhugfl\nlVW8uXwf249cMDuWaX5u9rzZH3GIe7nsAj35eY4qJ2szTmGzevHbO7WqF3GFyF5tCQrwYdEnB1mc\ndoTcwjLGDLbfUleal1U4eH99FtuPXMTfrwlPjrudXhpJe0vSyt4E2w9fJKewjHv6tKWFv4/ZcUQ8\n1u2dgpkxaQDBgT6s+NfXLF2fRZXTaXYst/ip2fNq9LcurezdrMrpZE1GNlYvC2MG2+t8vIjcnA6h\n/vxx8kD+krKfrfu/Ia+ojGdiIlxyd7iGIuPQBZZu+JKKSiej7uhI3PCuGkl7i9O/vpvtPHqJi/lX\niezVluBAX7PjiNwSggJ8mP5of3p3bcmhr/N4/YM95BeVmx2r3v1w9vzvH9TseblGe4AbOQ2D1V9k\n42WxED1Eq3oRd/L1tjE1thfD+7bj9KViXnt/N2cv1fcNYc1z/ez5jt/Onh94m2bPyzVq9m6UmXWZ\n87mlDIloTWgLP7PjiNxyrF5eTB7dnbjhXckvKmfeB5kczs4zO9ZN23PsMq++t5vTF4u5p09b/jh5\nAK2DmpodSxoQNXs3cRoGn27LxmKBsUM6mR1H5JZlsVy7XuapB3pS6XDy54/3838Hzpsd64Y4qpws\nT/+Kv6YepKrKSUJ0D/7j/h6aPS8/4rlXqDQw+7/K4ezlYgbf3prWwTriFjHbnbe3JijAh4UrDvCP\ntUfJKbxKzN2dG81X8/KulPFu2mGOny2kTXBTfv9QBB1C/et+otyStLJ3A8MwSPsiGwsQfVcns+OI\nyLe6dWzBK5MHENLcl7Rt2fzPmqM4qhr+V/MOn8wjackujp8tZFCPVsx6bKAavdRKK3s3OPh1Lqcu\nFDHwtla0D2lmdhwRuU7bls2YOWUgf0k5wBeHLpBfVM6zD0U0yCmU18+e9/KyMGlUN+7t177RnI0Q\n82hl72LGt5/VA4zTql6kQQps5s0fHulHv/AQjp7KZ97/7iG3sMzsWDVcP3s+ONCXVyYPYIRmz8sv\npGbvYkdO5XPimyv0Cw+hYyudZhNpqHyaWHn2oV7cN7AD53JKeO393Zy60DDGsR47U0DSkp0cyc6n\nT9eW/Nfjd9C5baDZsaQRUbN3sepVfWQnU3OISN28vCw8cl834keGc6Wkgvkf7OHAiRzT8hiGwfod\np3njw71cKakkbnhXpsb11khs+dXU7F0o63Q+x84U0KtLSzq10VG4SGMRdUdHfv9QL5yGwV9SDrBl\n7zm3Zygtq+SvqQf5eMvx6tnzYzR7Xm6QLtBzoTSt6kUarQHdQ/lDQD/+O+UAyRuyyCm4Suzwrm5p\nttkXrvD2J4fIKSyjhz2IxAd6aiSt3BSt7F3k+LlCjp7K5/ZOQfymfXOz44jIDejarvm1u9EFN2Xd\njtMsTjtMpaPKZe9nGAZb9p5jbnImOYVljNXseaknWtm7iK7AF/EMrYKa8sfJA1i44gA7j14iv6ic\nqbH1/7m5Zs+LK2ll7wInz1/h4Ne5dOvYgu5hQWbHEZGb5O/XhJce7sugHq346mwhf0rO5FJ+ab29\nfo3Z8+00e17qn5q9C6z+IhvQZ/UinqSJzUriAz25f3AYF/OuTZg78U3hTb9uxqELzFm6i/O5pUQN\n7Mi0R/tr/LXUOzX7enb6YhF7v8qha7tAbrdrVS/iSbwsFsYP/w2TR3en+GolCz7cS2bW5Rt6rZ+a\nPR9/n2bPi2tor6pn36/qG89ADRH5de7t157/jOuNxWLh7U8OsnHXmV/1/EsFVzV7XtxKzb4encsp\nITPrMp3aBNCrS7DZcUTEhXp3DWH6o/0JbObNss1f8eFnx3A6jTqft+fYZV5dskuz58Wt1Ozr0Zov\nsjG4dgW+VvUins/eJoCZUwbSPqQZmzLPsuiTg5RX/vRX8zR7XsykZl9PLuSVsuPoRTqE+tM3PMTs\nOCLiJi2b+zJjUn962IPY+1XOt7e2rajxmPyict74aC8bdp6hTXBTZk4ZSGSvtiYllluRmn09WfNF\nNoZx7Qp8repFbi1NfZvw/IQ+3BXRhpPnr/Cn5N2czy0Brs2e/69/7Kw5e15DscTNdFOdenCp4CoZ\nhy/SLqQZA7qHmh1HRExgs3qREN2DkOa+pG3LZm5yJsP6d2DdF9dmzz8a1Y0R/TV7XsyhZl8P1mac\nwmkYjB2iIRUitzKLxcKDQ7sQ0tyPpeu/ZO0X2bQM9OWZByPo0k7DsMQ8avY3KbewjG0Hz9M6yI9B\nPVqbHUdEGoC7e7cltIUvx88XMax3W42kFdOp2d+kdTtOUeU0iB7SCS8vrepF5JruYUHcPSCMy5eL\nzI4iogv0bkZ+UTlb958npLkvg3tqVS8iIg2Tmv1NWL/jNI4qJ9FD7LrFpYiINFjqUDfoSkkF/9p3\njuBAH31fVkREGjQ1+xu0YedpKhxO7r9Tq3oREWnY1KVuQPHVStL3nKO5vzf39NGqXkREGjY1+xuw\ncdcZyiuruH9QGE1suq+1iIg0bGr2v1JpWSWbM88Q0LQJw/q1NzuOiIhIndTsf6VNu89ytbyK3w4K\nw0fTqkREpBFQs/8VrpY7+Gz3GZr52hiuVb2IiDQSava/Qvqes5SUORh1R0f8fHTzQRERaRzU7H+h\nsnIHG3aewc/HxsgBHc2OIyIi8oup2f9C6zKyKb5ayX0DOtDUV6t6ERFpPFzWtZxOJ0lJSWRlZeHt\n7c1rr72G3W6v3p6ens6iRYuw2WzExsYyYcIEAB566CH8/f0B6NChA/PmzePIkSM89dRTdOrUCYD4\n+HjGjBnjqug/UlFZRernx/HxthJ1h1b1IiLSuLis2W/atImKigqWL1/Ovn37mD9/Pu+88w4AlZWV\nzJs3j5SUFPz8/IiPj2fEiBEEBARgGAbJyck1Xuvw4cM8/vjjPPHEE66KW6ut+7+hoKicMYPtGlUp\nIiKNjsuafWZmJkOHDgWgb9++HDp0qHrbiRMnCAsLo3nz5gAMGDCAXbt20a5dO65evcoTTzyBw+Hg\nhRdeqH7uyZMn2bx5M3a7nVdeeaV69e9qVU4n63acxsfbyqhBWtWLiEjj47JmX1xcXKMhW61WHA4H\nNpuN4uJiAgICqrc1a9aM4uJifH19SUhIYPz48WRnZ/Pkk0+yfv16evfuzfjx44mIiOCdd95h0aJF\nTJs27WffOyioKbZ6urNdWYUDLy8L40eE09Xesl5e0xOEhgbU/aBbiOpRk+rxPdWiJtWjJnfVw2XN\n3t/fn5KSkuqfnU4nNpvtJ7eVlJQQEBBA586dsdvtWCwWOnfuTIsWLbh8+TJRUVEEBgYCEBUVxZw5\nc2p97/z80nr9uyx45i5CQwO4fLmoXl+3sVItalI9alI9vqda1KR61FTf9ajtwMFlV+P379+frVu3\nArBv3z66detWva1r166cOnWKgoICKioq2L17N/369SMlJYX58+cDcPHiRYqLiwkNDSUhIYEDBw4A\nkJGRQc+ePV0VW0RExOO4bGUfFRXFtm3bePjhhzEMg7lz5/Lpp59SWlrKxIkTmT59OgkJCRiGQWxs\nLK1btyYuLo4ZM2YQHx+PxWJh7ty52Gw2kpKSmDNnDk2aNCEkJKTOlb2IiIh8z2IYhmF2iPrmitNE\nOv30PdWiJtWjJtXje6pFTapHTR5xGl9EREQaBjV7ERERD6dmLyIi4uHU7EVERDycmr2IiIiHU7MX\nERHxcGr2IiIiHk7NXkRExMOp2YuIiHg4j7yDnoiIiHxPK3sREREPp2YvIiLi4dTsRUREPJyavYiI\niIdTsxcREfFwavYiIiIezmZ2gIbE6XSSlJREVlYW3t7evPbaa9jt9urtq1evZunSpVitVrp160ZS\nUhJeXp57vFRXPTZs2MDixYuxWCyMGzeOxx57zMS0rlVXLb4za9YsmjdvzksvvWRCSvepqx7vvfce\n//znPwkODgbg1VdfpUuXLmbFdbm66nHgwAHmz5+PYRiEhoayYMECfHx8TEzsOrXV4vLly7zwwgvV\njz169Cgvvvgi8fHxZsV1ubr2jbS0NJYsWYKXlxexsbE88sgjrgliSLUNGzYY06ZNMwzDMPbu3Ws8\n/fTT1duuXr1qjBw50igtLTUMwzCef/55Y9OmTabkdJfa6uFwOIyoqCjjypUrhsPhMEaNGmXk5uaa\nFdXlaqvFdz766CNjwoQJxoIFC9wdz+3qqseLL75oHDx40IxopqitHk6n03jggQeM7OxswzAM4+OP\nPzZOnDhhSk53+CW/K4ZhGHv27DEmT55sOBwOd8Zzu7rqERkZaeTn5xvl5eXGfffdZxQUFLgkh+cu\nS29AZmYmQ4cOBaBv374cOnSoepu3tzfLli3Dz88PAIfD4bFH5t+prR5Wq5W1a9cSEBBAQUEBTqcT\nb29vs6K6XG21ANizZw/79+9n4sSJZsRzu7rqcfjwYRYvXkx8fDx/+9vfzIjoVrXV4+TJk7Ro0YL3\n3nuPSZMmUVBQ4NFnOeraNwAMw2DOnDkkJSVhtVrdHdGt6qpH9+7dKSoqoqKiAsMwsFgsLsmhZn+d\n4uJi/P39q3+2Wq04HA4AvLy8CAkJASA5OZnS0lIiIyNNyekutdUDwGazsXHjRmJiYhg0aFD1gZAn\nqq0Wly5dYtGiRcyePduseG5X174RHR1NUlISS5cuJTMzky1btpgR021qq0d+fj579+5l0qRJLFmy\nhO3bt5ORkWFWVJera98ASE9PJzw83KMPer5TVz3Cw8OJjY0lOjqa4cOHExgY6JIcavbX8ff3p6Sk\npPpnp9OJzWar8fPrr7/Otm3bWLhwocuOwBqKuuoBMGrUKLZu3UplZSUrV650d0S3qa0W69evJz8/\nn8TERBYvXszq1atJTU01K6pb1FYPwzB47LHHCA4Oxtvbm2HDhnHkyBGzorpFbfVo0aIFdrudrl27\n0qRJE4YOHfqTq11P8Uv+30hLS2PChAnujmaK2urx5Zdf8vnnn7N582bS09PJy8tj3bp1LsmhZn+d\n/v37s3XrVgD27dtHt27damyfPXs25eXlvP322x69iv1ObfUoLi5m0qRJVFRU4OXlhZ+fn0dfrFhb\nLaZMmUJqairJyckkJiYyduxYfve735kV1S3q2jfGjh1LSUkJhmGwY8cOIiIizIrqFrXVo2PHjpSU\nlHDq1CkAdu/eTXh4uCk53aGu/0cBDh06RP/+/d0dzRS11SMgIABfX198fHywWq0EBwdz5coVl+TQ\nIJzrfHfV5LFjxzAMg7lz53LkyBFKS0uJiIggNjaWgQMHVq/op0yZQlRUlMmpXae2ekycOJHly5eT\nkpKCzWaje/fuzJo1y2M/f6urFt9JTU3l66+/vmWuxv+5eqxcuZLk5GS8vb0ZMmQIzz33nNmRXaqu\nemRkZPDmm29iGAb9+vVj5syZZkd2mbpqkZeXx+OPP86qVavMjuoWddXjo48+YsWKFTRp0oSwsDDm\nzJnjkuuf1OxFREQ8nOeedxURERFAzV5ERMTjqdmLiIh4ODV7ERERD6dmLyIi4uHU7EWEs2fPEhER\nQUxMDDExMYwePZrnnnuOnJwcU/LMmDGDc+fOmfLeIp5IzV5EAGjVqhWrVq1i1apVrF+/Hrvdbtr3\n43fs2IG+FSxSfzTiVkR+xGKxMHXqVCIjI3n//fdJS0vD6XQSHh5OUlISM2fOJCsrC4vFQkJCAg8+\n+CCpqals3LiRwsJCcnNzuffee5k+fToWi4V3332XtLQ0rFYrkZGRvPzyy5w/f54pU6aQnp4OwMKF\nCwHw8fHh0qVLJCYm8sEHHxAUFGRmKUQ8gpq9iPwkb29v7HY7ISEhZGdns2XLFgICAnjjjTcICgpi\n9erV5OXlMX78eG677Tbg2m1QV65cSWBgIFOmTOGzzz7Dx8eH9PR0UlNTsdlsTJ06lWXLljFs2LCf\nfN/ExESWLVvG4sWL1ehF6olO44vIz7JYLPj6+tK5c2cCAgIA2L59O3FxcQAEBwczcuRIdu7cCcCI\nESMICQnB29ubMWPGsH37drZv3050dDS+vr7YbDZiY2M9euqbSEOkZi8iP6miooKTJ0+Sm5uLr69v\n9Z//8LN0wzCoqqoCqDEbwel0YrVacTqdP3pth8OBxWKp8Vo/HIMqIvVHzV5EfsTpdLJw4UL69OlD\nWFhYjW2DBw8mJSUFgLy8PDZv3sygQYMA2Lp1K0VFRZSXl7NmzRruueceBg8ezJo1aygrK8PhcLBi\nxQoGDx5MYGAghYWF5OXlUVFRwb///e/q97BardUHECJy8/SZvYgAcOnSJWJiYoBrzb5Hjx68+eab\nZGVl1Xjcs88+S1JSEuPGjaOqqoqnn36anj17kpWVRcuWLXnyySfJz88nJiaGoUOHAnD06FFiY2Nx\nOBwMHTqUSZMmYbPZSEhIIC4ujjZt2tCrV6/q9xg+fDiJiYn8/e9/p2PHju4rgoiH0tQ7EakXqamp\n7Ny5k/nz55sdRUR+QKfxRUREPJxW9iIiIh5OK3sREREPp2YvIiLi4dTsRUREPJyavYiIiIdTsxcR\nEfFwavYiIiIe7v8B+mwFz6qH6UwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23de1c09828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lists1 = sorted(dropout_test_result.items())\n",
    "x1,y1 = zip(*lists1)\n",
    "plt.plot(x1,y1)\n",
    "plt.title('Finding the best hyperparameter for testing set')\n",
    "plt.xlabel('Dropout')\n",
    "plt.ylabel('Mean Square Error')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23e0b3700f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lists2 = sorted(dropout_train_result.items())\n",
    "x2,y2 = zip(*lists2)\n",
    "plt.plot(x2,y2)\n",
    "plt.title('Finding the best hyperparameter for training set')\n",
    "plt.xlabel('Dropout')\n",
    "plt.ylabel('Mean Square Error')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
